220 likes | 317 Views
Ingeniería de Software Laboratorio X. Struts – Utilización de Tiles Eduardo Saavedra A. 27/10/2009. Tópicos. Introducción Ejemplo Aplicación de prueba. Introducción. Introducción.
E N D
Ingeniería de SoftwareLaboratorio X Struts – Utilización de Tiles Eduardo Saavedra A. 27/10/2009
Tópicos • Introducción • Ejemplo • Aplicación de prueba
Introducció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).
Ejemplo Cabecera Cuerpo Menú Pie
Ejemplo • 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.
Ejemplo • La estructura de archivos para la presente disposición es: El tiles-defs dice lo siguiente:
Ejemplo • Las ventajas de tiles es que permite crear una estructura base y luego extender de esta estructura para situaciones mas especificas.
Ejemplo • 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.
Ejemplo • 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.
Ejemplo • Veamos el contenido del layout.jsp • Primero y como siempre se definen las tld a utilizar. (7,9,10,11)
Ejemplo • 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.
Ejemplo • 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.
Ejemplo • 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.
Ejemplo • Y mas abajo en el layout.jsp se ve donde se inserta lo definido en el tiles-defs
Ejemplo login.jsp header.jsp • El contenido de esos jsp por separado es: body.jsp
Ejemplo • 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”
Ejemplo • 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 struts-config: tiles-defs:
Aplicación de prueba • Hágalo usted mismo
Bibliografía • • http://struts.apache.org/ • http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=strutstiles • http://www.roseindia.net/struts/struts_tiles.shtml • http://www.roseindia.net/struts/using-tiles-defs-xml.shtml • www.google.com :P