public interface Action
Interfaz que define el contrato que debe implementar una Acción.
La implementación de un Action en JavaMVC representa una clase de soporte del controlador encargada de:Para poder utilizar un Action es necesario haber declarado éste en el XML de configuración del framework.
Ejemplo de declaración de un Action
<jmvc:action path="Login" class="edu.uoc.presentation.actions.Login" actionForm="LoginForm" input="/jsp/login.jsp">
<jmvc:interceptor-ref name="interceptor1"/>
<jmvc:forward name="ok" path="/jsp/..."/>
<jmvc:forward name="error" path="/jsp/..." redirect="true"/>
</jmvc:action>
Elementos de un Action
Form
que permitirá realizar validaciones sobre los datos recibidos.Todo Action tendrá asociados uno o más recursos de destino 'forward' y podrá tener vinculados varios interceptores.
Si un Action utiliza interceptores, éstos se irán ejecutando según el órden de aparición en la declaráción.
Dado que los interceptores de un Action son realmente referencias, la definición completa de cada Interceptor deberá haberse declarado previamente tal y como se indica
en Interceptor
.
Un forward tendrá los siguientes atributos:
Modifier and Type | Method and Description |
---|---|
ActionResponse |
execute(ContextObject contextObject,
Form form)
Método al que despachará el controlador con el objetivo de llevar a cabo la lógica vinculada con la petición.
|
ActionResponse execute(ContextObject contextObject, Form form) throws java.lang.Exception
Método al que despachará el controlador con el objetivo de llevar a cabo la lógica vinculada con la petición.
La lógica asociada a este método debe centrarse en realizar las llamadas a los métodos de dominio necesarios para llevar a cabo la lógica de negocio y determinar a qué recurso (Vista u otro Action) despachar el resultado.
contextObject
- objeto que encapsula los datos de contexto de la petición recibida.form
- formulario vinculado al Action que contendrá los datos recuperados
del formulario de entrada. Este parámetro será null si el
Action no tiene Form
asociado.ActionResponse
en la que se incluirán tanto el recurso
destino de la petición como los datos que éste necesite.java.lang.Exception
- Excepción que representa una situación de error sucedida durante la ejecución del método.