Struts y JSF
 

Ejercicios de la vista en Struts

Uso de ActionForms

Se pide crear y utilizar un ActionForm en el caso de uso "registrar nuevo usuario". En la implementación actual de la acción los datos del nuevo usuario se toman directamente de la petición HTTP, lo que hace que el código para tomarlos sea engorroso y no se pueda hacer una validación modular (hay que poner el código de validación dentro de la propia acción). Por tanto hay que:

  1. Crear una nueva clase amigosStruts.acciones.FormRegistro que será el ActionForm para almacenar los datos del formulario de registro. Dicha clase tendrá una serie de métodos get/set para recuperar/almacenar el login, el password y la confirmación de password, el sexo, la fecha de nacimiento, la descripción y la localidad. Las propiedades se llamarán respectivamente "login", "password1", "password2", "sexo", "fechaNac", "descripcion" y "localidad" ya que así se llaman ahora los campos de formulario de registro.jsp. Todas las propiedades deben ser Strings.(
  2. Crear un método validate en el ActionForm para comprobar errores. Para simplificar, suponer que el único error posible es que los dos passwords no sean iguales
  3. Asociar el ActionForm definido a la acciónamigosStruts.acciones.AccionRegistroen fel fichero struts-config.xml
  4. Cambiar el código de la acción amigosStruts.acciones.AccionRegistro para que tome los datos del ActionForm en lugar de tomarlos de la petición HTTP

Uso de la taglib HTML de Struts

Para evitar que el usuario tenga que volver a rellenar los datos del formulario si ha cometido algún error, sustituir las etiquetas HTML de los campos del formulario por las correspondientes de la taglib para campos de formulario de Struts. Comprobar que efectivamente los datos se vuelven a colocar en los campos de formulario en caso de vuelta a la página registro.jsp

Uso de DynaActionForms (*)

El código de los métodos get/set del ActionForm creado en el primer ejercicio es bastante repetitivo. Sustituir el ActionForm por otro nuevo que sea un DynaActionForm (no borrar la clase creada en el primer ejercicio), lo que implicará:

  1. Crear una clase que herede de org.apache.struts.action.DynaActionFormy tenga el método validate implementado en el primer ejercicio
  2. Definir el DynaActionForm en el fichero struts-config.xml
  3. Asociar el DynaActionForm a la acción amigosStruts.acciones.FormRegistro (dejar entre comentarios HTML la asociación hecha en el ejercicio 1, para no tener que borrarla)