Si me engañas una vez, tuya es la culpa. Si me engañas dos, la culpa es mía
ANAXÁGORAS de CLAZOMENE

[Struts] – Realizar una acción común en todos los action

Es posible que queramos realizar una misma acción común en un grupo de clases Action antes (o después) de realizar las acciones particulares de cada clase Action.

Ejemplos típicos como las validaciones o la autentificación del usuario que navega es posible realizarlas más eficientemente utilizando Struts Validator las primeras y la segunda con otras soluciones para implementar la política de seguridad requerida ya discutidas aquí. Otros ejemplos podría ser auditoria o validaciones cruzadas.

La manera de implementar la acción comun es implementar una clase Action que será el padre del resto, BaseAction. En el método execute (en general, porque según la arquitectura de la aplicación podremos implementar otras acciones como consultar, consultarTodos, editar, visualizar, validar, guardar…) implementamos la acción común. A continuación, ejecutamos un método abstracto, doExecute, que es el que implementará la acción particular de cada clase Action que extienda de BaseAction.

 

public abstract class BaseAction extends Action {

    public final ActionForward execute(

       ActionMapping mapping,

       ActionForm form,

       HttpServletRequest request,

       HttpServletResponse response)

    throws Exception {

        HttpSession session    = request.getSession();

        Usuario usuario        = (Usuario) session.getAttribute(Constantes.USER_KEY);

 

        // redirigimos a la entrada de la zona autenticada

        if (usuario == null) return (mapping.findForward("logon"));

 

        return doExecute(mapping, form, request, response, usuario);

    }

 

    public abstract ActionForward doExecute(

       ActionMapping mapping,

       ActionForm form,

       HttpServletRequest request,

       HttpServletResponse response,

       Usuario usuario) throws Exception;

}

[tags]J2EE, Struts, seguridad[/tags]

También te puede interesar:

  • [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...
  • 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...
  • 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...
  • [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...
  • [Struts] – Manejo de objetos de negocio en los ActionForm La mayoría de los formularios de las aplicaciones web recogen o muestran los datos de los objetos de negocio de nuestra aplicación. Debido a esto,...

Dejanos tu Comentario

Nombre: (Requerido)

E-Mail: (Requerido)

Sitio WEB:

Comentario:

Comenta