J'ai un tuiles defs.xml qui a ces définitions ...comment inclure des attributs de définition des tuiles dans une page insérée
<definition name="masterLayout" path="/WEB-INF/tiles-layouts/globalLayout.jsp">
<put name="pageTemplate" value="over-ride for each page" />
</definition>
<definition name="childLayout" extends="masterLayout">
<put name="pageTemplate" value="/WEB-INF/tiles-layouts/child/layout.jsp" />
<put name="title" value="page title" />
<put name="metaKeywords" value="" />
<put name="metaDescription" value="" />
<put name="body" value="/child/pagebody.jsp"/>
<putList name="list">
<add value="title" />
<add value="metaKeywords" />
<add value="metaDescription" />
<add value="body" />
</putList>
</definition>
dans globalLayout.jsp je ce travail, mais je ne veux pas toujours connaître les attributs que la définition enfant a ajoutés à la page.
<tiles:insert attribute="pageTemplate">
<tiles:put name="title"><tiles:getAsString name="title" /></tiles:put>
<tiles:put name="metaKeywords"><tiles:getAsString name="metaKeywords" /></tiles:put>
<tiles:put name="metaDescription"><tiles:getAsString name="metaDescription" /></tiles:put>
<tiles:put name="body"><tiles:getAsString name="body" /></tiles:put>
Depuis la définition de l'enfant ne comprend pas toujours les mêmes attributs. Est-il possible d'utiliser la putList dans la définition enfant pour placer les attributs dans la portée de la page enfant à l'intérieur de globalLayout.jsp? J'ai essayé ce qui suit, mais il échoue
<%@ page import="java.util.Iterator" %>
<tiles:importAttribute />
<bean:define id="list" name="list" type="java.util.List" scope="page" />
<tiles:insert attribute="pageTemplate" ignore="true" flush="true">
<%
for (Iterator it = list.iterator(); it.hasNext();) {
String item = (String) it.next();
%>
<tiles:put name="<%=item%>"><tiles:getAsString name="<%=item%>" ignore="true" /></tiles:put>
<% } %>
</tiles:insert>
intéressant- Je ne l'avais pas vu auparavant. Malheureusement, ma question initiale portait sur un ancien code écrit avec Tiles 1. – David