- mainMenu.jsp (aqui hay varios botones para ir a varias paginas, para el caso solo tengo 2 botones ahorita)
Código:
-MainMenuForm no lo pongo porque mainMenu.jsp no tiene campos como un textfield o algo por el estilo, pero igual en mi proyecto esta creado dicho AtionForm<html:form action="/MainMenuAction"> <html:submit property="metodo"><bean:message key="submit.add"/></html:submit> <html:submit property="metodo"><bean:message key="submit.edit"/></html:submit> </html:form>
- MainMenuAction (el action que controla los requests de mainMenu, aclaro que aunque no lo ponga aquí, este action implementa la interfaz LookUpDispachAction y no borré el método execute)
Código:
- struts-configprotected Map getKeyMethodMap() { Map mapa = new HashMap(); mapa.put("submit.add", "add"); mapa.put("submit.edit", "edit"); return mapa; } public ActionForward add(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { return mapping.findForward( "add"); } public ActionForward edit(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { return mapping.findForward( "edit"); }
Código:
- addProducto.jsp y modProducto.jsp son las jsp destino dependiendo si presiono el primer boton submit del form o el segundo respectivamente, no pongo el código porque simplemente no tienen nada, solo un texto plano que diferencia una página de la otra, solo a modo de ejemplo para comprobar si me funciona, pero como pueden ver en struts-config estas ultimas 2 jsp tienen sus respectivos actionForms y Actions, por lo que no creo que eso me de error.<form-beans> <form-bean name="LoginForm" type="empresa.banco.forms.LoginForm"/> <form-bean name="MainMenuForm" type="empresa.banco.forms.MainMenuForm"/> <form-bean name="AddProductForm" type="empresa.banco.forms.AddProductForm"/> <form-bean name="ModProductForm" type="empresa.banco.forms.ModProductForm"/> </form-beans> <action-mappings> <action path="/MainMenuAction" type="empresa.banco.actions.MainMenuAction" name="MainMenuForm" parameter="metodo" scope="request" validate="true"> <forward name="add" path="/addProduct.jsp"/> <forward name="edit" path="/modProduct.jsp"/> </action> <action path="/AddProductAction" type="empresa.banco.actions.AddProductAction" name="AddProductForm"/> <action path="/ModProductAction" type="empresa.banco.actions.ModProductAction" name="ModProductForm"/> </action-mappings> <message-resources parameter="empresa.banco.ApplicationResources"/>
Considero uqe he seguido al pié de la letra todos los pasos de los tutoriales e incluso entiendo la logica (o al menos eso creo) pero por alguna razón no me funciona, si digamos le doy click a un botón pues sale como si me llevara a la jsp pero no carga nada, solo en blanco y al ver el código fuente ni me aparece codigo fuente, y en la URL me aparece así:
http://192.168.1.6:8989/banco-ViewCo...0df4957d08eb74
Tambien otra cosa, nose si tenga que ver ni entiendo porque me sale así, en mi Jdeveloper cuando estoy editando el código de la JSP, en tutoriales he visto que le meten un bean:message dentro de un html:submit para "rotular" dicho boton, de la siguiente manera:
<html:submit property="metodo">
<bean:message key="submit.add"/>
</html:submit>
Lo hago en mi JSP pero en Jdeveloper me sale como que si estuviera erróneo eso de tener el submit de la siguiente manera:
<html:submit property="metodo"></html:submit>
Porque cuando lo arrastro de la paleta de controles de Jdeveloper el código que crea es así:
<html:submit/>
Pero si lo modifico y lo dejo con un tag de apertura y uno de cierre me da error, pueden verlo en la siguiente imagen:
http://www.oscarcalderon.info/struts/error.JPG
A pesar de ello, al compilar el proyecto funciona y corre la jsp de manera normal, pero nose si eso será la razon por la cual no funcione el uso de LookUpDispatchAction, por favor ayudenme.