[Struts] – ActionDispatcher
Struts permite manejar eventos HTML, mediante la clase ActionDispatcher, LookupDispachAciton y MappingDispatchAction que encontramos en el paquete org.apache.struts.actions.
En la clase Action declaramos un ActionDipatcher como un nuevo manejador de eventos (EventActionDispatcher), que gestionará el destino que devolverá nuestro método execute, invocando un método público de nuestro action que se llame igual que el evento HTML generado.
public class UsuariosAction extends Action {
protected ActionDispatcher dispatcher = new EventActionDispatcher(this);
public ActionForward execute (ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) throws Exception {
ActionForward fwDestino = mapping.findForward("ERROR");
try {
fwDestino = dispatcher.execute(mapping, form, request, response);
} catch (Exception e) {
System.out.println("ERROR – UsuariosAction.execute – Excepcion : " + e.toString());
}
return fwDestino; }
public ActionForward registrar(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
return mapping.findForward("REGISTRAR");
}
}
En el fichero struts-config.xml debemos indicar los nombres de los eventos que el Action manejará, declarándolos como "parameter" :
<action-mappings>
<action path="/usuarios" type="es.jcs.infraestructuras.control.usuarios.UsuariosAction"
name="usuariosActionForm" parameter="registrar" validate="false">
<forward name="ERROR" path="/web/jsp/error.jsp" />
<forward name="REGISTRAR" path="/web/jsp/registrarUsuario.jsp" />
</action>
</action-mappings>
En la parte HTML, el nombre del elemento que generó el evento debe estar incluido en la declaración parameter del action en el struts-config.xml, y debe ser el mismo nombre del método que queremos que se ejecute en el action.
<input type="image" name="registrar" xsrc="log.jpg" value="Registrarse">
<input type="submit" name="registrar" value="Registrarse" />
<a xhref="usuarios.do?registrarse=true">Registrarse</a>
Intentaré tener pronto un artículo en Lyckapedia.
[tags]actiondispatcher, struts[/tags]
También te puede interesar:
- [Struts Validator] – input en struts-config.xml Si queremos que Struts valide automáticamente un formulario, debemos indicarlo en la declaración de nuestro action en struts-config.xml, mediante validate="true". Entonces Struts ejecutará las validaciones...
- Implementación con Struts : Cambio de Contraseña Planteamiento Necesitamos implementar en una aplicación web basada en Struts un cambio de contraseña de los usuarios de la aplicación. El usuario al olvidar su...
- [Struts] – no Cache Si queremos que ninguna página de nuestra aplicación basada en Struts almacene los datos introducidos por el usuario en ellas (lo que se entiende por...
- Implementación con Struts : Control de acceso a una aplicación web Requisitos Necesitamos implantar un control de acceso de usuarios lo más genérico y simple posible a una aplicación web desplegada sobre Tomcat. Para ello tendremos...
- Framework Struts Un esquema de su funcionamiento podría ser el siguiente: JSP Manda datos introducidos por el usuario al Action Pinta los datos recibidos del Action FORM...






























