Allora aspetta xchè mesà che non hai capito nulla di quello che ti ho detto!
Abbiamo una jsp che tramite un metodo di una classe java deve controllare un certo parametro ok?
Questo parametro lo prende dalla richiesta http.E fin qua siamo d'accordo. Allora è inutile passare tutta la richiesta http a questa classe, ma conviene passarle soltanto la stringa che deve controllare visto la richiesta la possiamo gestire tranquillamente da jsp.
Quindi mettiamo il metodo verificaMese come statico:
codice:
import java.util.GregorianCalendar;
import java.util.Calendar;
import java.util.Date;
public class DataMese {
public static String VerificaMese(String scadenza){
GregorianCalendar gc = new GregorianCalendar();
int giorno = gc.get(Calendar.DAY_OF_MONTH);
int mese = gc.get(Calendar.MONTH)+1;
int anno = gc.get(Calendar.YEAR);
String giornoTot = giorno +"/"+ mese +"/"+ anno;
int scadenza_anno = anno;
String data = giornoTot;
int data_inserimento = gc.get(Calendar.DAY_OF_MONTH);//giorno corrente 27
int scad = Integer.parseInt(scadenza);
//giorni di scadenza scelti dal cliente //controllo da 1 --> 7gg
int mese_attuale = gc.get(Calendar.MONTH)+1;
int Gennaio = gc.JANUARY+1;//31gg
int Febbraio = gc.FEBRUARY+1;//28-29gg
int Marzo = gc.MARCH+1;//31gg
int Aprile = gc.APRIL+1;//30gg
int Maggio = gc.MAY+1;//31gg
int Giugno = gc.JUNE+1;//30gg
int Luglio = gc.JULY+1;//31gg
int Agosto = gc.AUGUST+1;//31gg
int Settembre = gc.SEPTEMBER+1;//30gg
int Ottobre = gc.OCTOBER+1;//31gg
int Novembre = gc.NOVEMBER+1;//30gg
int Dicembre = gc.DECEMBER+1;//31gg
int gg31 = 31;
int gg30 = 30;
int gg28 = 28;
int gg29 = 29;
int scad_offerta=0;
String scad_off="";
int scarto_gg=0;
String nome_mese ="";
scad_offerta = data_inserimento + scad;
if(mese_attuale!=Febbraio && mese_attuale!=Aprile && mese_attuale!=Giugno
&& mese_attuale!=Settembre && mese_attuale!=Novembre){
//controllo sui giorni effettivi
//Se supera il 31esimo gg deve passare al mese successivo
if(scad_offerta>gg31){
//Casistiche per somma scarto_gg(mese precendente) al mese successivo
//Gennaio --> Febbraio || Marzo --> Aprile || Maggio --> Giugno
//Luglio --> Agosto || Agosto --> Settembre || Ottobre --> Novembre
//Dicembre --> Gennaio
scarto_gg = scad_offerta - gg31;
//il risultato lo vado a sommare ai giorni del mese successivo
//controllo sul mese precedente
if(mese_attuale==Gennaio){
scad_off = scarto_gg + "/" + Febbraio + "/" + scadenza_anno;
}
else if(mese_attuale==Marzo){
scad_off = scarto_gg + "/" + Aprile + "/" + scadenza_anno;
}
else if(mese_attuale==Maggio){
scad_off = scarto_gg + "/" + Giugno + "/" + scadenza_anno;
}
else if(mese_attuale==Luglio){
scad_off = scarto_gg + "/" + Agosto + "/" + scadenza_anno;
}
else if(mese_attuale==Agosto){
scad_off = scarto_gg + "/" + Settembre + "/" + scadenza_anno;
}
else if(mese_attuale==Ottobre){
scad_off = scarto_gg + "/" + Novembre + "/" + scadenza_anno;
}
else if(mese_attuale==Dicembre){
scad_off = scarto_gg + "/" + Gennaio + "/" + scadenza_anno;
}
}
else{
scad_off=scad_offerta + "/" + mese_attuale + "/" + scadenza_anno;
}
//nome_mese = "Mesi con gg 31";
}
else if(mese_attuale!=Gennaio && mese_attuale!=Febbraio && mese_attuale!=Marzo
&& mese_attuale!=Maggio && mese_attuale!=Luglio && mese_attuale!=Agosto
&& mese_attuale!=Ottobre && mese_attuale!=Dicembre){
if(scad_offerta>gg30){
//Casistiche per somma scarto_gg(mese precendente) al mese successivo
//Aprile --> Maggio || Giugno --> Luglio || Settembre --> Ottobre
//Novembre --> Dicembre
scarto_gg = scad_offerta - gg30;
//il risultato lo vado a sommare ai giorni del mese successivo
//controllo sul mese precedente
if(mese_attuale==Aprile){
scad_off = scarto_gg + "/" + Maggio + "/" + scadenza_anno;
}
else if(mese_attuale==Giugno){
scad_off = scarto_gg + "/" + Luglio + "/" + scadenza_anno;
}
else if(mese_attuale==Settembre){
scad_off = scarto_gg + "/" + Ottobre + "/" + scadenza_anno;
}
else if(mese_attuale==Novembre){
scad_off = scarto_gg + "/" + Dicembre + "/" + scadenza_anno;
}
}
else{
scad_off=scad_offerta + "/" + mese_attuale + "/" + scadenza_anno;
}
//nome_mese = "Mesi con gg 30";
}
else if(mese_attuale!=Gennaio && mese_attuale!=Marzo && mese_attuale!=Aprile
&& mese_attuale!=Maggio && mese_attuale!=Giugno && mese_attuale!=Luglio
&& mese_attuale!=Agosto && mese_attuale!=Settembre && mese_attuale!=Ottobre
&& mese_attuale!=Novembre && mese_attuale!=Dicembre){
if(scad_offerta>gg28 || scad_offerta>gg29){
scarto_gg = scad_offerta - gg28;
scarto_gg = scad_offerta - gg29;
if(mese_attuale==Febbraio){
scad_off = scarto_gg + "/" + Marzo + "/" + scadenza_anno;
}
}
else{
scad_off=scad_offerta + "/" + mese_attuale + "/" + scadenza_anno;
//doppio controllo
}
Febbraio = gg28;
Febbraio = gg29;
//nome_mese = "Mesi con gg 28-29";
}
return scad_off;
}
}
Se all'interno della jsp devi chiamare sto metodo basta che fai:
scad = req.getParameter("scadenza");
String scadenza = DataMese.verificaMese(scad);
e hai risolto.
Se non è come dico probabilmente non ho capito cosa vuoi fare