I NGENIERÍA DE S OFTWARE L ABORATORIO X Struts – Utilización de Tiles Eduardo Saavedra A. 27/10/2009
T ÓPICOS 1. Introducción 2. Ejemplo 3. Aplicación de prueba
I NTRODUCCIÓN
Tiles es un plugin para struts que se utiliza para establecer la maqueta constante de la aplicación web. Con TILES por ejemplo, se podría definir una cabecera, menú, cuerpo y pie de una página web. La gracia de esto es que no hay repetición de código, no hay inclusiones “sucias” y es configurable por medio de un XML Entonces cuando se requiera hacer un cambio, simplemente se editan los archivos necesarios y no TODOS (bajo acoplamiento en vistas).
E JEMPLO DE USO DE TILES
E JEMPLO Cabecera Menú Pie Cuerpo
Netbeans posee por defecto este plugin al instalar struts. Al crear un proyecto struts, dentro del struts-config, se puede ver la siguiente línea: Ella hace referencia a otro archivo de configuración llamado tiles-defs.xml El archivo viene con algunos ejemplos para su análisis. E JEMPLO
La estructura de archivos para la presente disposición es: E JEMPLO El tiles-defs dice lo siguiente:
Las ventajas de tiles es que permite crear una estructura base y luego extender de esta estructura para situaciones mas especificas. E JEMPLO
Lo que se encuentra dentro de las definiciones son los “nombres de variables”. Aquí es donde se especifican los jsp (páginas) a ciertas variables que después podrán ser utilizadas. E JEMPLO
Lo que se encuentra dentro de las definiciones son los “nombres de variables”. Aquí es donde se especifican los jsp (páginas) a ciertas variables que después podrán ser utilizadas. E JEMPLO
Veamos el contenido del layout.jsp Primero y como siempre se definen las tld a utilizar. (7,9,10,11) E JEMPLO
Luego, como ya se ha visto se utilizan estas tld e distintos ambitos (html en linea 14) y en la linea 16… aparece la “tiles”, notese que hace alusión a una variable llamada browserTitle, la que debería estar definida en el tiles-defs. E JEMPLO
Luego, como ya se ha visto se utilizan estas tld e distintos ambitos (html en línea 14) y en la línea 16… aparece la “tiles”, nótese que hace alusión a una variable llamada browserTitle, la que debería estar definida en el tiles-defs. E JEMPLO
Luego, como ya se ha visto se utilizan estas tld e distintos ambitos (html en línea 14) y en la línea 16… aparece la “tiles”, nótese que hace alusión a una variable llamada browserTitle, la que debería estar definida en el tiles-defs. E JEMPLO
Y mas abajo en el layout.jsp se ve donde se inserta lo definido en el tiles-defs E JEMPLO
El contenido de esos jsp por separado es: E JEMPLO header.jsp login.jsp body.jsp
El nombre de la definición que se analizó era “principal”. ¿Como se accede entonces desde struts a esta definición en tiles? Simple… a través de los forward en los Action, desde el struts-config: Entonces si se requiere mostrar otra estructura (por ejemplo una para ver productos) cambiando por ejemplo el body, simplemente se realiza un forward referenciando un nuevo “path” y en el tiles-defs se debe definir ese “path” E JEMPLO
Entonces si se requiere mostrar otra estructura (por ejemplo una para ver productos) cambiando por ejemplo el body, simplemente se realiza un forward referenciando un nuevo “path” y en el tiles-defs se debe definir ese “path” Cabe destacar que ahora los path no son “etc/etc/pagina.jsp, sino que se hace referencia un path del tiles-defs E JEMPLO struts-config: tiles-defs:
A PLICACIÓN DE PRUEBA
Hágalo usted mismo
B IBLIOGRAFÍA p?pagina=strutstiles :P