Anda di halaman 1dari 6

Controlador - RegistroAction - Crear el esqueleto de un Action

Las subclases de la Clase Action se ejecutan en respuesta a una peticin de un usuario. Las subclases de Action desempean el papel de interactuar con el modelo controlar el flujo de navegacin a la vista (en este caso pgina JSP) que corresponda Ahora vamos a crear una subclase de Action llamada RegistroAction. Para ello en la ventana properties vamos a hacer clic con el botn derecho sobre nuestro proyecto de ejemplo llamado proregusuariostruts y seleccionamos Other... Entonces elegimos Struts | Struts Action

En el cuadro de dilogo New Struts Action escribimos los siguientes datos

Class Name: RegistroAction Package: paqactions Action Path: /registro

Hacemos clic sobre el botn siguientes datos

y en el nuevo cuadro de dilogo New Struts Action escribimos los

Input Resource: /registroForm.jsp

Para salir de este cuadro de dilogo hacemos clic sobre el botn

Como podemos observar, en el fichero struts-config.xml, el asistente de NetBeans ha aadido el elemento <action> <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_2.dtd">

<struts-config>
<form-beans> <form-bean name="RegistroActionForm" type="paqactionforms.RegistroActionForm"/> </form-beans> <global-exceptions> </global-exceptions> <global-forwards> <forward name="welcome" path="/Welcome.do"/> </global-forwards>

<action-mappings> <action input="/registroForm.jsp" name="RegistroActionForm" path="/registro" scope="session" type="paqactions.RegistroAction"/>


<action path="/Welcome" forward="/welcomeStruts.jsp"/>

</action-mappings>

<controller processorClass="org.apache.struts.tiles.TilesRequestProcessor"/> <message-resources parameter="literales/ApplicationResource"/> <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> <!-- ================= Validator plugin ========================= --> <plug-in className="org.apache.struts.validator.ValidatorPlugIn"> <set-property property="pathnames" value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml"/> </plug-in>

</struts-config>
Y tambin ha creado el esqueleto de la Clase RegistroAction package paqactions; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import import import import org.apache.struts.action.Action; org.apache.struts.action.ActionForm; org.apache.struts.action.ActionMapping; org.apache.struts.action.ActionForward;

public class RegistroAction extends org.apache.struts.action.Action { /* forward name="success" path="" */ private final static String SUCCESS = "success"; public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { return mapping.findForward(SUCCESS); }

struts-config.xml utilizado en Struts

<?xml version="1.0" encoding="ISO-8859-1" ?> <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN"

"http://jakarta.apache.org/struts/dtds/strutsconfig_1_1.dtd">

<struts-config>

<!-- ========== Definiciones de Form Bean =================== --> <form-beans> <form-bean name="logonForm"

type="com.osmosislatina.struts.LogonForm"/>

</form-beans>

<!-- ==========Forward's Globales ============================== --> <global-forwards> <forward name="exito" path="/beanstruts/principal.jsp"/> <forward name="rechazo" path="/beanstruts/error.jsp"/>

</global-forwards>

<!-- ========== Mapeo de Acciones ============================== --> <action-mappings>

<action

path="/logon"

type="com.osmosislatina.struts.LogonAction" name="logonForm"> </action>

</action-mappings>

<!-- ========== Controller Configuration ======================== --> <controller> <set-property property="inputForward" value="true"/> </controller>

<!-- ========== Message Resources Definitions ==================== --> <message-resources parameter="com.osmosislatina.struts.ApplicationResources "/>

</struts-config>

La primer seccin se encuentra compuesta por los elementos <form-beans> , aqu son definidos todos aquellos Java Beans que sern utilizados en la aplicacin ("Web-Archive") , la definicin se encuentra compuesta por el nombre de la Clase Java as como un nombre corto que recibir el Bean; la composicin de un Java Bean fue descrita en Java Beans en "MVC" . La seccin <global-forwards> como su nombre lo indica, es una manera de re-direccionar solicitudes dentro de toda la estructura del "Web-Archive", esto es, basado en los parmetros anteriores, si en alguna seccin de Struts se invoca el nombre exito la solicitud ser redireccionada al archivo principal.jsp; el uso de esta redireccin ser ejemplificado posteriormente. Posteriormente la seccin <action-mappings> forma la parte medular de Struts y por ende del "MVC"; en esta configuracin se indica lo siguiente: Cualquier solicitud bajo el directorio logon ser atendida por la clase LogonAction.( recuerde que esta solicitud de directorio en trminos reales es logon.st , esto se debe a que antes de arribar esta solicitud a Struts debi ser transferida va el archivo web.xml, en el archivo web.xml utilizado para Struts , se indic que para ser enviada una solicitud a Struts esta debi terminar en *.st). Dentro de esta clase LogonAction se realiza toda manipulacin de la requisicin la cual eventualmente da como respuesta nombres empleados dentro de Struts, estos nombres son precisamente aquellos definidos en <globalforwards> El parmetro name="logonForm" indica que antes de entrar a la clase en cuestin se genere una instancia del Java Bean llamado logonForm, esta declaracin fue aquella definida en <form-beans> . Despus se encuentra la seccin <controller> empleada para definir parmetros especficos del Controlador (org.apache.struts.action.ActionServlet); en este caso la declaracin nicamente toma sus valores "default". Finalmente son definidos los ApplicationResources de la aplicacin, los cuales contienen valores estticos que pueden ser utilizados a lo largo de una aplicacin Struts.

Anda mungkin juga menyukai