Bonjour,

Je développement une webapp avec struts et j'utilise Tiles pour créer les templates des différentes pages ...

J'ai un premier découpage général de base (header + body + footer) qui est utilisé dans certaines page du site. J'ai besoin ensuite de faire un dexième découpage du body en 3 colonnes.

Est-il préférable de créer une nouvelle JSP, qui sert de template, avec tout le découpage de la page (header + body en 3 colonnes + footer) ?

Est il possible de ne faire que le découpage du boby en 3 colonnes et d'inclure cette template dans la template générale ?

J'ai essayé de faire cette dernière solution mais en restitution, j'obtient le body en 3 colonnes sans le header et le footer !!

tiles-defs.xml :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
<definition name="mainTemplate" path="/tiles/mainTemplate.jsp">
	<put name="header" value="/vues/header.jsp" />
	<put name="body" value=""/>
	<put name="footer" value="/vues/footer.jsp"/>
</definition>
 
<definition name="editorialTemplate" extends="mainTemplate" >
	<put name="body" value="bodyTemplate"/>
</definition>
 
<definition name="bodyTemplate" path="/tiles/bodyTemplate.jsp" >
	<put name="body1" value=""/>
	<put name="body2" value=""/>
	<put name="body3" value=""/>
</definition>

mainTemplate.jsp :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
 
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<%@ taglib uri="/WEB-INF/tld/struts-html.tld" prefix="html"%>
<%@ taglib uri="/WEB-INF/tld/struts-tiles.tld" prefix="tiles"%>
 
<tiles:importAttribute />
<html:html>
<body>
<table>
	<tr height="10%">
		<td><tiles:insert attribute="header" /></td>
	</tr>
	<tr height="80%">
		<td><tiles:insert attribute="body" /></td>
	</tr>
	<tr height="10%">
		<td><tiles:insert attribute="footer" /></td>
	</tr>
</table>
</body>
</html:html>
bodyTemplate.jsp :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<%@ taglib uri="/WEB-INF/tld/struts-tiles.tld" prefix="tiles"%>
 
<tiles:importAttribute />
 
<table>
	<tr>
	      <td><tiles:insert attribute="body1"/></td>
	      <td><tiles:insert attribute="body2"/></td>
	      <td><tiles:insert attribute="body3"/></td>
	</tr>
</table>
Avez vous une idée ?? Vos commentaires sont les bienvenus !!
Merci d'avance.