I NGENIERÍA DE S OFTWARE L ABORATORIO X Struts – Utilización de Tiles Eduardo Saavedra A....

22
INGENIERÍA DE SOFTWARE LABORATORIO X Struts – Utilización de Tiles Eduardo Saavedra A. 27/10/2009

Transcript of I NGENIERÍA DE S OFTWARE L ABORATORIO X Struts – Utilización de Tiles Eduardo Saavedra A....

Page 1: I NGENIERÍA DE S OFTWARE L ABORATORIO X Struts – Utilización de Tiles Eduardo Saavedra A. 27/10/2009.

INGENIERÍA DE SOFTWARELABORATORIO XStruts – Utilización de Tiles

Eduardo Saavedra A.

27/10/2009

Page 2: I NGENIERÍA DE S OFTWARE L ABORATORIO X Struts – Utilización de Tiles Eduardo Saavedra A. 27/10/2009.

TÓPICOS

1. Introducción2. Ejemplo3. Aplicación de prueba

Page 3: I NGENIERÍA DE S OFTWARE L ABORATORIO X Struts – Utilización de Tiles Eduardo Saavedra A. 27/10/2009.

INTRODUCCIÓN

Page 4: I NGENIERÍA DE S OFTWARE L ABORATORIO X Struts – Utilización de Tiles Eduardo Saavedra A. 27/10/2009.

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).

Page 5: I NGENIERÍA DE S OFTWARE L ABORATORIO X Struts – Utilización de Tiles Eduardo Saavedra A. 27/10/2009.

EJEMPLO DE USO DE TILES

Page 6: I NGENIERÍA DE S OFTWARE L ABORATORIO X Struts – Utilización de Tiles Eduardo Saavedra A. 27/10/2009.

EJEMPLO

Cabecera

Menú

Pie

Cuerpo

Page 7: I NGENIERÍA DE S OFTWARE L ABORATORIO X Struts – Utilización de Tiles Eduardo Saavedra A. 27/10/2009.

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

Page 8: I NGENIERÍA DE S OFTWARE L ABORATORIO X Struts – Utilización de Tiles Eduardo Saavedra A. 27/10/2009.

La estructura de archivos para la presente disposición es:

EJEMPLO

El tiles-defs dice lo siguiente:

Page 9: I NGENIERÍA DE S OFTWARE L ABORATORIO X Struts – Utilización de Tiles Eduardo Saavedra A. 27/10/2009.

Las ventajas de tiles es que permite crear una estructura base y luego extender de esta estructura para situaciones mas especificas.

EJEMPLO

Page 10: I NGENIERÍA DE S OFTWARE L ABORATORIO X Struts – Utilización de Tiles Eduardo Saavedra A. 27/10/2009.

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

Page 11: I NGENIERÍA DE S OFTWARE L ABORATORIO X Struts – Utilización de Tiles Eduardo Saavedra A. 27/10/2009.

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

Page 12: I NGENIERÍA DE S OFTWARE L ABORATORIO X Struts – Utilización de Tiles Eduardo Saavedra A. 27/10/2009.

Veamos el contenido del layout.jsp

Primero y como siempre se definen las tld a utilizar. (7,9,10,11)

EJEMPLO

Page 13: I NGENIERÍA DE S OFTWARE L ABORATORIO X Struts – Utilización de Tiles Eduardo Saavedra A. 27/10/2009.

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

Page 14: I NGENIERÍA DE S OFTWARE L ABORATORIO X Struts – Utilización de Tiles Eduardo Saavedra A. 27/10/2009.

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

Page 15: I NGENIERÍA DE S OFTWARE L ABORATORIO X Struts – Utilización de Tiles Eduardo Saavedra A. 27/10/2009.

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

Page 16: I NGENIERÍA DE S OFTWARE L ABORATORIO X Struts – Utilización de Tiles Eduardo Saavedra A. 27/10/2009.

Y mas abajo en el layout.jsp se ve donde se inserta lo definido en el tiles-defs

EJEMPLO

Page 17: I NGENIERÍA DE S OFTWARE L ABORATORIO X Struts – Utilización de Tiles Eduardo Saavedra A. 27/10/2009.

El contenido de esos jsp por separado es:

EJEMPLO

header.jsplogin.jsp

body.jsp

Page 18: I NGENIERÍA DE S OFTWARE L ABORATORIO X Struts – Utilización de Tiles Eduardo Saavedra A. 27/10/2009.

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

Page 19: I NGENIERÍA DE S OFTWARE L ABORATORIO X Struts – Utilización de Tiles Eduardo Saavedra A. 27/10/2009.

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

EJEMPLO

struts-config:

tiles-defs:

Page 20: I NGENIERÍA DE S OFTWARE L ABORATORIO X Struts – Utilización de Tiles Eduardo Saavedra A. 27/10/2009.

APLICACIÓN DE PRUEBA

Page 21: I NGENIERÍA DE S OFTWARE L ABORATORIO X Struts – Utilización de Tiles Eduardo Saavedra A. 27/10/2009.

APLICACIÓN DE PRUEBA

Hágalo usted mismo