|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Junior Member
Iscritto dal: Jul 2007
Città: Roma
Messaggi: 1
|
[STRUTS] non viene eseguito il metodo execute
Ho un problema con struts.
Premetto che nello stesso progetto ci sono altre pagine jsp con relative Action ed ActionForm e funzionano tutte, tranne questa! Nella pagina "esperienze.jsp" nel momento in cui premo "Salva" visualizzo una pagina tutta bianca. Pensavo che il problema fosse nello "struts-config.xml", così ho provato a mettere delle stampe: in EsperienzeForm e riscontro che viene riempita correttamente; ne ho messa una statica in "EsperienzeAction" ed anche qui il messaggio viene visualizzato. Infine ho provato nel metodo "execute" della Action e questa volta niente; sembra come se nel metodo "execute" non entri proprio!!! Io utilizzo Eclipse come Tool di sviluppo e Tomcat 5.0 come Web Server. Di seguito i codici java e jsp: - esperienze.jsp Codice:
<%@ page contentType="text/html; charset=Cp1252" %> <%@ taglib uri="/tags/struts-bean" prefix="bean" %> <%@ taglib uri="/tags/struts-logic" prefix="logic" %> <%@ taglib uri="/tags/struts-html" prefix="html" %> <%@ taglib uri="/tags/struts-nested" prefix="nested" %> <html:html> <head> <meta http-equiv="Content-Type" content="text/html; charset=Cp1252"/> <title>GSP - Inserimneto esperienze</title> <link rel="stylesheet" href="pages/stile.css" type="text/css"> <script type="text/javascript"> function controlla(){ var rit = false; if(form.id.value=="") window.alert("ID non valido"); else if(form.progetto.value=="") window.alert("Progetto non valido"); else if(form.inizio.value=="") window.alert("Campo 'inizio' non valido"); else if((form.durata.value=="")||isNaN(form.durata.value)) window.alert("Durata non valida"); else rit = true; return rit; } </script> </head> <body> <h1>Gestione Skills Profile - GSP</h1> <h2>Inserimento esperienze</h2> <br><br> <html:form method="POST" action="/esperienze.do"> <table align=center> <tr> <td>ID risorsa:</td> <td><html:text property="id"></html:text></td> </tr> <tr> <td>Progetto</td> <td><html:text property="progetto"></html:text></td> </tr> <tr> <td>Cliente:</td> <td><html:text property="cliente"></html:text></td> </tr> <tr> <td>Inizio (mese/anno):</td> <td><html:text property="inizio"></html:text></td> </tr> <tr> <td>Durata (mesi):</td> <td><html:text property="durata"></html:text></td> </tr> <tr> <td></td> <td align=center><br> <html:reset>Reset</html:reset> <html:submit>Salva</html:submit> </td> </table> </html:form> </body> </html:html> - struts-config.xml (le pagine conferma.jsp e error.jsp le uso x verificare il giusto funzionamento) Codice:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd"> <struts-config> <data-sources> </data-sources> <form-beans> <form-bean name="esperienze" type="inserisci.EsperienzeForm"/> </form-beans> <global-exceptions> </global-exceptions> <global-forwards> </global-forwards> <action-mappings> <action path="/esperienze" name="esperienze" type="inserisci.EsperienzeAction" validate="false" input="/pages/esperienze.jsp"> <forward name="ok" path="/pages/conferma.jsp"/> <forward name="ko" path="/pages/error.jsp"/> </action> </action-mappings> <controller processorClass="org.apache.struts.tiles.TilesRequestProcessor"/> <message-resources parameter="MessageResources"/> <plug-in className="org.apache.struts.tiles.TilesPlugin"> <set-property property="definitions-config" value="/WEB-INF/tiles-defs.xml"/> <set-property property="moduleAware" value="true"/> </plug-in> </struts-config> - EsperienzeForm.java Codice:
package inserisci; import org.apache.struts.action.ActionForm; public class EsperienzeForm extends ActionForm { private String id; private String progetto; private String cliente; private String inizio; private int durata; public String getCliente() { return cliente; } public void setCliente(String cliente) { System.out.println(cliente); this.cliente = cliente; } public int getDurata() { return durata; } public void setDurata(int durata) { System.out.println(durata); this.durata = durata; } public String getId() { return id; } public void setId(String id) { System.out.println(id); this.id = id; } public String getInizio() { return inizio; } public void setInizio(String inizio) { System.out.println(inizio); this.inizio = inizio; } public String getProgetto() { return progetto; } public void setProgetto(String progetto) { System.out.println(progetto); this.progetto = progetto; } } - EsperienzeAction.java (i dati andrebbero salvati nel DB, ma x prova li metto in sessione) Codice:
package inserisci; import javax.servlet.http.*; import org.apache.struts.action.*; import generale.*; public class EsperienzeAction extends Action { static{System.out.println("static action");} public ActionForward execute(ActionForm form, ActionMapping mapping, HttpServletRequest request, HttpServletResponse response) throws Exception{ System.out.println("execute"); EsperienzeForm ef = (EsperienzeForm)form; if(ef!=null){ Esperienze esperienze = new Esperienze(); esperienze.setId(ef.getId()); esperienze.setProgetto(ef.getProgetto()); esperienze.setCliente(ef.getCliente()); esperienze.setInizio(ef.getInizio()); esperienze.setDurata(ef.getDurata()); HttpSession sessione = request.getSession(true); sessione.setAttribute("esperienze", esperienze); return mapping.findForward("ok"); } else return mapping.findForward("ko"); } } |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 20:08.