La parte del controlador es la que se encarga de “enrutar” las peticiones del usuario y de “encaminar” la respuesta correcta.
Hay un fichero de configuración donde se registran las páginas y los caminos. Es el struts-config.xml.
La parte del controlador es la que se encarga de “enrutar” las peticiones del usuario y de “encaminar” la respuesta correcta.
Hay un fichero de configuración donde se registran las páginas y los caminos. Es el struts-config.xml. En versiones de struts anteriores a la 1.1 sólo podía haber uno por aplicación. Afortunadamente ya está corregido. Imaginad lo que debe ser un equipo de desarrolladores trabajando en una aplicación struts, turnándose para meterle mano al struts-config. Eso por no hablar del tamaño bíblico que puede alcanzar en una aplicación mediana. Jdeveloper lleva un editor visual, por lo que los principiantes también podemos “dibujar” los caminos de nuestra aplicación. Aprovecho para recomendar el libro “Programming Jakarta Struts” de O’Relly. Si eres extrangero en el mundo java, amortizarás la inversión desde el primer capítulo.
Los caminos “legales” entre pantallas deben estar registrados en el struts-config.xml. Las propias pantallas también deben estarlo.
Este es un ejemplo de fichero de configuración:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | <?xml version = '1.0' encoding = 'windows-1252'?> <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd"> <struts-config> <form-beans> <form-bean name="DataForm" type="oracle.adf.controller.struts.forms.BindingContainerActionForm"/> </form-beans> <action-mappings> <action path="/MntoDpto" className="oracle.adf.controller.struts.actions.DataActionMapping" type="oracle.adf.controller.struts.actions.DataForwardAction" name="DataForm" parameter="/MntoDpto.uix"> <set-property property="modelReference" value="MntoDptoUIModel"/> </action> <action path="/MntoEmp" className="oracle.adf.controller.struts.actions.DataActionMapping" type="oracle.adf.controller.struts.actions.DataForwardAction" name="DataForm" parameter="/MntoEmp.uix"> <set-property property="modelReference" value="MntoEmpUIModel"/> </action> <action path="/MntoDto2" className="oracle.adf.controller.struts.actions.DataActionMapping" type="oracle.adf.controller.struts.actions.DataForwardAction" name="DataForm" parameter="/MntoDto2.jsp"> <set-property property="modelReference" value="MntoDto2UIModel"/> </action> <action path="/MntoEmp2" className="oracle.adf.controller.struts.actions.DataActionMapping" type="oracle.adf.controller.struts.actions.DataForwardAction" name="DataForm" parameter="/MntoEmp2.jsp"> <set-property property="modelReference" value="MntoEmp2UIModel"/> </action> <action path="/BrowseEmp" className="oracle.adf.controller.struts.actions.DataActionMapping" type="oracle.adf.controller.struts.actions.DataForwardAction" name="DataForm" parameter="/BrowseEmp.jsp"> <set-property property="modelReference" value="BrowseEmpUIModel"/> <forward name="editar" path="/EditarEmp.do"/> <forward name="Nuevo" path="/NuevoEmp.do"/> </action> <action path="/NuevoEmp" className="oracle.adf.controller.struts.actions.DataActionMapping" type="oracle.adf.controller.struts.actions.DataForwardAction" name="DataForm" parameter="/NuevoEmp.jsp"> <set-property property="modelReference" value="NuevoEmpUIModel"/> <forward name="commit" path="/BrowseEmp.do"/> </action> <action path="/EditarEmp" className="oracle.adf.controller.struts.actions.DataActionMapping" type="oracle.adf.controller.struts.actions.DataForwardAction" name="DataForm" parameter="/EditarEmp.jsp"> <set-property property="modelReference" value="EditarEmpUIModel"/> <forward name="commit" path="/BrowseEmp.do"/> </action> <action path="/ValidaLogin" type="demcu.view.ValidaLoginAction"> <forward name="error_login" path="/error.jsp"/> <forward name="login_exito" path="/BrowseEmp.do"/> </action> </action-mappings> <message-resources parameter="demcu.view.ApplicationResources"/> </struts-config> |
Este fichero, en el editor visual es así:
