Me he pasado un buen rato para encontrarlo así que supongo será útil postearlo. El aspecto de la pantalla que quería generar era una cabecera, un menú y un cuerpo. Pero el menú quería que fuera otro componente dividido entre una parte estática (javascripts, estilos, etcétera…) y una parte dinámica que es el contenido del menú, recogido de una base de datos o fichero xml.
Así que básicamente tenemos unas definiciones de tiles compuestas por componentes anidados, y con uno de los atributos generado dinámicamente (mediante ViewPrepare).
Y ésto lo conseguimos de manera simplificada con:
- tiles.xml
- /plantilla/menu.jsp
- PrepareMenu.java
- inicio.jsp
<tiles-definitions>
<definition name="app.inici" template="/plantilla/normal.jsp">
<put-attribute name="cap" value="/tiles/cap.jsp" />
<put-attribute name="menu" value="app.menu" />
<put-attribute name="cos" value="/tiles/buit.jsp" />
</definition>
<definition name="app.menu" template="/plantilla/menu.jsp" preparer="com.app.PrepareMenu">
<put-attribute name="mostramenu" value="/tiles/menu.jsp" />
</definition>
</tiles-definitions>
<%@ taglib uri="http://tiles.apache.org/tags-tiles" prefix="tiles" %>
<tiles:insertAttribute name="definemenu" />
<tiles:insertAttribute name="mostramenu" />
public class PrepareMenu implements ViewPreparer {
public void execute(TilesRequestContext tilesRequestContext, AttributeContext attributeContext)
throws PreparerException {
attributeContext.putAttribute(
"definemenu",
new Attribute("<p>Aqui hay el html dinamico del menu</p>"));
}
}
<%@ page language="java" %>
<%@ taglib uri="http://tiles.apache.org/tags-tiles" prefix="tiles" %>
<tiles:insertDefinition name="app.inici" flush="true" />
5 últimas entradas en java
- Andar hacia atrás no puede ser bueno... - May 27th, 2008
- "Autowire by name" en tests con Spring - April 18th, 2008
- Por que Java tiene que ser tan complicado? - March 18th, 2008
5 últimas entradas en tutorial
- [Consejos Terminal] Utiliza las expresiones regulares, son tus amigas - June 9th, 2008
- [Consejos Terminal] Aprende a utilizar curl para Internet - June 6th, 2008
- [Consejos Terminal] Encuentra ficheros grandes y otras funciones - June 4th, 2008
- Arranca tomcat permitiendo debug en eclipse - June 3rd, 2008
- [Consejos Terminal] Aprovecha pushd y popd para navegar por los directorios. - June 3rd, 2008
5 últimas entradas en utilidades
- Récord conseguido !! - June 19th, 2008
- Recupera espacio en disco en Mac OS X - June 19th, 2008
- [Consejos Terminal] Utiliza las expresiones regulares, son tus amigas - June 9th, 2008
- [Consejos Terminal] Aprende a utilizar curl para Internet - June 6th, 2008
- [Consejos Terminal] Encuentra ficheros grandes y otras funciones - June 4th, 2008

0 Comments
There are no comments yet, be the first by filling in the form below.
Leave a Comment