Proyecto de Integracion
 

Ejercicios sesión 2 - Struts: la vista

En esta sesión, seguiremos trabajando sobre la aplicación de ejemplo de la sesión anterior.

Uso de ActionForms

En la acción java NuevaTareaAccion los datos se toman directamente de la petición HTTP. En vez de hacer esto, crear un ActionForm para recolectar los datos.

  1. Crear una nueva clase java es.ua.jtech.struts.actionforms.TareaForm con las propiedades necesarias y los métodos get/set. Importante: ¿de qué tipo deberían ser las propiedades?. Implementar el método validate para controlar errores de validación (fecha incorrecta, prioridad no válida, días de aviso no es un número positivo). Tened en cuenta que podéis aprovechar código de validación que ahora está en el método validar de NuevaTareaAccion.
  2. Cambiar el código de NuevaTareaAccion para que tome los datos del ActionForm en lugar de hacerlo directamente de la petición HTTP.
  3. en el struts-config.xml, definir el ActionForm, dentro de la sección <form-beans> y asociarlo a la acción, dentro de la etiqueta <action>, usando los atributos name, validate e input. Si hay un error de validación hay que volver a la misma página, nuevaTarea.jsp.

Uso de la taglib HTML

Cambiar el formulario de la página nuevaTarea.jsp para que use las etiquetas propias de Struts. Comprobar que cuando hay un error se vuelven a mostrar los datos escritos en el formulario. Mostrar además al lado de cada campo el error asociado (si puede haberlo) usando la etiqueta <html:messages> que vimos en la sesión anterior.

Una vez conseguido esto, hacer que el cuadro de lista desplegable tome automáticamente los valores posibles para la prioridad de la clase Tarea en lugar de ponerlos a mano en el HTML.

Uso de DynaActionForms

Crear un DynaActionForm para la accion LoginAccion. Mapearlo adecuadamente en el struts-config.xml y modificar el código de LoginAccion para que tome los datos del DynaActionForm en lugar de directamente de la petición HTTP.