Diferencia entre revisiones de «Apache Tiles»
(Página creada con 'Apache Tiles es un framework de template para simplificar el desarrollo de interfaces de usuario. Tiles permite definir ''fragmentos'' y crear páginas que se ensamblan en t…') |
(→La definición del template) |
||
Línea 49: | Línea 49: | ||
El ejemplo anterior hace referencia a un template, que contiene la estructura de la página. El template tiene lugares (placeholders) donde se ubican los fragmentos. Un template de ejemplo podría ser: | El ejemplo anterior hace referencia a un template, que contiene la estructura de la página. El template tiene lugares (placeholders) donde se ubican los fragmentos. Un template de ejemplo podría ser: | ||
− | <code | + | <code html5> |
<%@ taglib uri="http://tiles.apache.org/tags-tiles" prefix="tiles" %> | <%@ taglib uri="http://tiles.apache.org/tags-tiles" prefix="tiles" %> | ||
<html> | <html> |
Revisión del 13:10 8 jun 2012
Apache Tiles es un framework de template para simplificar el desarrollo de interfaces de usuario. Tiles permite definir fragmentos y crear páginas que se ensamblan en tiempo de ejecución con estos fragmentos.
Contenido
[ocultar]Configuración rápida de Apache Tiles 3.0
Configurar Apache Tiles 3.0 para un sitio web consiste de estos pasos básicos:
- Agregar las librerias de Tiles al proyecto.
- Crear el archivo de configuración tiles.xml' con las definiciones de las páginas.
- Configurar el listener de Tiles en el archivo web.xml para que levante la configuración del punto 2.
- Configurar un Servlet que atienda peticiones y cree las páginas a partir de las definiciones del punto 2.
1. Configurar las librerias de Tiles
Usando Maven, incluir 3 dependencias:
<dependency>
<groupId>org.apache.tiles</groupId>
<artifactId>tiles-servlet</artifactId>
<version>3.0.0</version>
</dependency>
<dependency>
<groupId>org.apache.tiles</groupId>
<artifactId>tiles-jsp</artifactId>
<version>3.0.0</version>
</dependency>
<dependency>
<groupId>org.apache.tiles</groupId>
<artifactId>tiles-extras</artifactId>
<version>3.0.0</version>
</dependency>
2. Configurar tiles.xml
Crear un archivo WEB-INF/tiles.xml en la aplicación web. El siguiente archivo tiene una definición de ejemplo agregada.
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE tiles-definitions PUBLIC
"-//Apache Software Foundation//DTD Tiles Configuration 2.1//EN"
"http://tiles.apache.org/dtds/tiles-config_2_1.dtd">
<tiles-definitions>
<definition name="prueba/holamundo" template="/WEB-INF/layouts/default.jsp">
<put-attribute name="titulo" value="Un hola mundo con Tiles" />
<put-attribute name="menu" value="/WEB-INF/jsp/menu.jsp" />
<put-attribute name="body" value="/WEB-INF/jsp/holamundo.jsp" />
</definition>
</tiles-definitions>
La definición del template
El ejemplo anterior hace referencia a un template, que contiene la estructura de la página. El template tiene lugares (placeholders) donde se ubican los fragmentos. Un template de ejemplo podría ser:
<%@ taglib uri="http://tiles.apache.org/tags-tiles" prefix="tiles" %>
<html>
<head>
<title><tiles:getAsString name="title"/></title>
</head>
<body>
<tiles:insertAttribute name="menu"/>
<tiles:insertAttribute name="body"/>
</body>
</html>
3. Configurar el listener de Tiles
En el archivo web.xml configurar el listener de Tiles 3:
<listener>
<listener-class>org.apache.tiles.extras.complete.CompleteAutoloadTilesListener</listener-class>
</listener>
4. Configurar un servlet que atienda peticiones
Tiles brinda integración con varios frameworks de presentación (como Struts, Spring, Shale, Velocity y otros). También provee de un Servlet muy sencillo que atiende las peticiones y renderiza directo la definición asociada.
La configuración de este Servlet se hace en el archivo web.xml:
<servlet>
<servlet-name>Tiles Dispatcher Servlet</servlet-name>
<servlet-class>org.apache.tiles.web.util.TilesDispatchServlet</servlet-class>
<load-on-startup>2</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Tiles Dispatcher Servlet</servlet-name>
<url-pattern>*.tiles</url-pattern>
</servlet-mapping>
Con esta configuración puede desplegarse la aplicación. La petición "prueba/holamundo.tiles" será atendida por este servlet, y aplicada la definición en tiles.xml.