Struts
 

Ejercicios de Struts 2

En las plantillas de la sesión se incluye un proyecto de tipo "hola mundo" hecho con Struts 2. Para probarlo, ejecutar el proyecto y acceder a la url http://localhost:8080/testStruts2/hola.action. . El funcionamiento es como sigue:

Implementación de un caso de uso sencillo

Supongamos que queremos implementar una página web desde la que se pueden mandar SMS gratuitos. Vamos a implementar parte de la funcionalidad (evidentemente, no el envío real de mensajes).

Creación y mapeo de la acción (1 punto)

Crear la acción que se ocuparía del envío de mensajes en la clase java es.ua.jtech.struts2.acciones.EnviarSMS. Por el momento, la acción no hace nada salvo devolver "success". Conseguir que la acción se asocie con la URL http://localhost:8080/testStruts2/EnviarSMS.action y que el resultado "success" se asocie con la página "enviado.html" que simplemente mostrará un mensaje indicando "el sms se ha enviado correctamente".

Comprobar que todo funciona adecuadamente.

Uso de javabeans (1 punto)

  • Crear un javabean es.ua.jtech.struts2.beans.SMS para almacenar los datos de un SMS: número de teléfono y texto.
  • En la acción EnviarSMS, crear un campo de tipo SMS llamado sms con métodos get/set. En el execute de la acción hacer que por la consola se muestre texto con los datos del mensaje, algo como "Enviando al nº 626123456 el texto 'Struts2 mola'".
  • Crear una página index.jsp y en ella implementar un formulario para enviar un nuevo SMS con las tags propias de Struts2. Asociar los campos con las propiedades del bean sms de la acción EnviarSMS.

Comprobar que al rellenar el formulario y enviarlo, la acción imprime correctamente los datos del SMS en la consola.

Validación (1 punto)

Hacer que se validen los datos del formulario. Los dos campos son obligatorios. Podéis también validar que el número de teléfono solo tiene dígitos, pero entonces necesitaréis consultar la documentación sobre validación de Struts 2 para ver la definición de los validadores.

Necesitaréis:

  • Definir la validación en un fichero EnviarSMS-validation.xml junto a la clase EnviarSMS.
  • En el struts.xml, asociar el resultado de "input" a la página que contiene el formulario, para que si falla la validación se vuelvan a mostrar los datos