Recojemos del servidor el proyecto i18n y lo colocamos en el workspace, creamos un nuevo proyecto con el mismo nombre y lo abrirá.
Una vez abierto botón derecho, run as, maven build ... y en Goals: "tomcat:run-war"
Ahora podremos acceder al proyecto a la siguiente dirección: "http://localhost:8080/i18n/" y veremos un mensaje de salida que variará según el idioma que tengamos configurado en el navegador.
Ejercicio:
Ampliaremos los idiomas haciendo más archivos ".properties" al italiano.
Es un framework para desarrollar aplicaciones web a través de servlets.
Los jsp tendrá etiquetas de struts.
Todos los servlets deberían escuchar por un ".do" ya que todo lo que se hace son acciones.
En el archivo struts-config.xml es donde se configuran todas las acciones.
Para más información sobre el struts: Struts
Añadido 1 (Ejercicio1):
Añadiremos un nuevo "forward" que si recibe la petición "conocido" que redirija a un jsp que crearemos ahora: "/usuarioConocido.jsp"
En "SaludoAction" creamos una condicional:
if(saludoForm.getNombre().equals("pepe"))
actionForward= mapping.findForward("conocido");
else
actionForward= mapping.findForward("ok");
Añadido 2 (Ejercicio2):
Un formulario que hereda de LibroForm y que a su vez a ActionForm, el LibroForm es como un bean de libro, con su título y lo que queramos con sus métodos getters y setters.
Una vez que se rellena el formulario y se envía llamamos a la accion libro.do
Tendremos una clase LibroAction que reconocerá el título del libro y llamará a una acción que estará configurada en el archivo "struts-config.xml".
En la acción pondremos que si es un libro Y da error llamando al archivo "errorLibro.jsp" y si el libro esperado X redirija a "libroOk.jsp"
Añadido 3 (Ejercicio3):
La siguiente añadidura consiste en realizar practicamente lo mismo pero con un club.
La idea es que un usuario de nombre X y edad Y no supere los 100 años y ni sea inferior a 18, en ambos casos redirigirán a sus páginas de error y si es entre 18 y 100 que entre en el club.
La página de inicio es "club.jsp" con un formulario de "ClubForm"
El "ClubAction" se encargará de "filtrar" la edad y en la configuración del struts una acción dedicada para el formulario del club y dependiendo de la edad redirigir a una página jsp u otra.
Explicación validación:
En "traducciones.properties" tenemos 2 mensajes de error que son para el ejercicio original cuando un usuario no introduce el nombre y el apellido.
El cómo acceder a ellos, pues es fácil.
Utilizamos la etiqueta "struts-html:errors" con la propiedad "nombre", por ejemplo, aunque esto es simplemente para acceder a una propiedad dentro de un método, el cual está contenido en el "bean" o el xForm.java, que consiste en sobrescribir el método "ActionErrors validate" y realizamos lo siguiente:
if(request.getParameter("nombre")==null || request.getParameter("nombre").equals("")){
actionErrors.add("nombre", new ActionMessage("error.nombreVacio"));
}
Lo que hace es recojer el parámetro "nombre" del formulario de usuario y comprobar que no está vacío y si lo está que acceda al archivo ".properties" al campo "error.nombreVacio" y entonces se mostraría el mensaje, la propiedad de ese mensaje se le llamó "nombre" tal y como dije al principio con la etiqueta del struts de error.
No hay comentarios:
Publicar un comentario