STRUTS: Impossibile accedere al bean

di il
2 risposte

STRUTS: Impossibile accedere al bean

Buonasera a tutti.
Scrivo nel forum per chiedere lumi.
Stò sviluppando una web-app tramite STRUTS 1.2 ed ho un problema un pò insolito.
Il problema si riassume così: Vorrei riuscire a definire una classe che mi gestisca le date e leggere queste date ed aggiornare una variabile in una JSP che mi vada a leggere questa classe ottenga il valore aggornato della data e la stampi sulla JSP stessa.

Il problema è che, per ottenere questa data da una classe (tramite GregorianCalendare) io devo definire, all'interno della JSP un bean e usando la "property" potrei accedere al parametro che mi interessa.

La configurazione del framework è questa:

La classe Action che gestisce la data:

package applicazioneGestione.Action;

import java.io.IOException;
import java.util.Calendar;
import java.util.GregorianCalendar;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

public class GestisciDateAction extends Action {
	
		  public ActionForward execute(ActionMapping mapping,
		                               ActionForm form,
		                               HttpServletRequest request,
		                               HttpServletResponse response) throws IOException, ServletException{	
			  
			  GregorianCalendar gc = new GregorianCalendar();
			  int giorno = GestisciDateAction.getGiorno(gc);
			  
			  HttpSession session = request.getSession();
			  session.setAttribute("giorno", giorno);
			  
			  return (mapping.findForward("SUCCESS"));		
			  
		  }
		  
			public static int getGiorno(GregorianCalendar calendario){
				int Getgiorno = calendario.get(Calendar.DAY_OF_MONTH);	
				return Getgiorno;}
}//Chiude la classe LoginAction

La JSP:

<bean:write name="applicazioneGestione.Action.GestisciDateAction" property="Getgiorno"/>
La configurazione action-mapping dello struts-config:

 		<action
 				path="/GestisciDateAction"
 				validate="false"
 				type="applicazioneGestione.Action.GestisciDateAction">
 					<forward name="SUCCESS"
 							 path="pages/Irrigazione.jsp"/> 	
 		</action>	
Il problema è che il browser mi restituisce questo errore:

javax.servlet.jsp.JspException: Cannot find bean: "applicazioneGestione.Action.GestisciDateAction" in any scope
Ho provato innumerevoli varianti nella JSP, usando vari tipi di tag alcuni anche deprecati: jsp:useBean, html:text property, use:bean ed altri ed ho anche provatoo a passare vari tipi di parametri nella JSP, come il nome della variabile della classe, il nome del metodo, ma non funziona.

Sono quasi certo che il problema sia in come definisco le classi oppure nell'action-mapping.

Navigando su internet ho trovato un post con un problema sdimile al mio e si parlava del fatto che, quando struts cerca di generare la pagina JSP a partire da una Action invece che da una chiamata assoluta, fatta ad esempio con una "redirect" non riesce a completare la richiesta perchè non riesce a risolvere il path relativo della action.

Domani magari posto un link alla discussione che ho trovato, perchè si trova sul computer dell'ufficio.

Qualcuno conosce Struts? Spero mi possiate aiutare.

Grazie

2 Risposte

Devi accedere o registrarti per scrivere nel forum
2 risposte