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

Upload: paula-diaz-parra

Post on 23-Jan-2016

216 views

Category:

Documents


0 download

TRANSCRIPT

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