Configurar Tiles

En web.xml:

<jsp-config>
<taglib>
<taglib-uri>/WEB-INF/struts-tiles.tld</taglib-uri>
<taglib-location>/WEB-INF/struts-tiles.tld</taglib-location>
</taglib>
</jsp-config>

En struts-config.xml:

<plug-in className="org.apache.struts.tiles.TilesPlugin">
<set-property property="definitions-config" value="/WEB-INF/tiles-defs.xml" />
<set-property property="definitions-debug" value="0" />
<set-property property="definitions-parser-details" value="0"/>
<set-property property="definitions-parser-validate" value="0"/>
<set-property property="httpPort" value="9080"/>
<set-property property="httpsPort" value="9443"/>
<set-property property="enable" value="false"/>
<set-property property="addSession" value="false"/>      
</plug-in>

Crear el archivo tiles-defs.xml e ingresar lo siguiente:

<!DOCTYPE tiles-definitions PUBLIC "-//Apache Software Foundation//DTD Tiles Configuration//EN" "http://jakarta.apache.org/struts/dtds/tiles-config_1_1.dtd">
<tiles-definitions>
<definition name="Plantilla" path="/jsp/plantilla/Plantilla.jsp">
<put name="Titulo"      value="Plantilla"/>
<put name="Cabecera"    value="/jsp/plantilla/Cabecera.jsp"/>
<put name="Menu"        value="/jsp/plantilla/Menu.jsp"/>
<put name="Cuerpo"      value="/jsp/plantilla/Cuerpo.jsp"/>
<put name="PiePagina"   value="/jsp/plantilla/PiePagina.jsp"/>
</definition>
<definition name="Inicio" extends="Plantilla">
<put name="Titulo" value="Bienvenidos"/>
<put name="Cuerpo" value="/jsp/Inicio.jsp"/>
</definition>
<definition name="WsitCiclo" extends="Plantilla">
<put name="Titulo" value="List"/>
<put name="Cuerpo" value="/jsp/List.jsp"/>
</definition>
</tiles-definitions>

En Plantilla.jsp:

<%@ include file="/jsp/plantilla/Include.jsp" %>
<%@ taglib uri="/WEB-INF/struts-tiles.tld" prefix="tiles" %>
<html:html locale="true">
<head>
<title>
<tiles:getAsString name="Titulo"/>
</title>
<html:base />
<script type="text/javascript" src="<%=request.getContextPath()%>/js/funciones.js"></script>
<link type="text/css" href="<%=request.getContextPath()%>/theme/estilos.css" rel="stylesheet">
</head>
<body>
<div id="Cabecera">
<tiles:insert attribute="Cabecera" />
</div>
<div id="Menu">
<tiles:insert attribute="Menu" flush />
</div>
<div id="Cuerpo">
<tiles:insert attribute="Cuerpo" />
</div>
<div id="PiePagina">
<tiles:insert attribute="PiePagina" />
</div>
</body>
</html:html>

Crear Include.jsp y agregar:

<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>

En Cabecera.jsp

<h2>Web APP</h2>

En Cuerpo.jsp

<h1>Bienvenido</h1>

En Menu.jps

<ul>
 <li><a href="<%=request.getContextPath()%>/List.do?method=inicio">/list</a></li>
</ul>

En PiePagina.jsp

<h5>©2009 Todos los derechos Reservados</h5>

En Inicio.jps

<%@ include file="/jsp/plantilla/Include.jsp" %>
<logic:notPresent name="org.apache.struts.action.MESSAGE" scope="application">
<font color="red">
ERROR:  Application resources not loaded -- check servlet container
logs for error messages.
</font>
</logic:notPresent>
<h1>Bienvenido</h1>

En List.jsp

<%@ include file="/jsp/plantilla/Include.jsp" %>
<%@ taglib uri="http://displaytag.sf.net" prefix="displayTag" %>
<html:form styleId="FormList" action="/FormList">
...
</html:form>

En struts-config.xml, la configuracion de los actions, sería:

<action-mappings>
<action path="/Inicio" type="org.apache.struts.actions.ForwardAction" parameter="Inicio"/>
<action path="/List" type="ListAction"  name="ListForm" scope="request" parameter="method" validate="false" >
<forward name="inicio" path="List" redirect="true"/>
</action>
</action-mappings>

En WEB-INF incluir struts-tiles.tld

La estructura es:

Plantilla Tiles Struts

Plantilla Tiles Struts

Es todo.

Etiquetas:

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s


A %d blogueros les gusta esto: