Grâce aux différents posts concernant le sujet, j'essaie d'utiliser struts-layout dans une page JSP pour afficher un tableau sur plusieurs pages.

Au départ, j'utilisait :
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
23
24
25
26
27
28
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>
 
<html>
    <head>
        <title>Mon appli</title>
        <link rel="stylesheet" href="./vues/style.css" type="text/css">
    </head>
 
    <body>
        <div>
		<table>
			<logic:iterate id="ligne" name="resReq">
	 			<tr>
	 				<logic:iterate id="valeur" name="ligne">
		 				<logic:present name="valeur">
		 					<td class="tablecel"><bean:write name="valeur" /></td>
		 				</logic:present>
		 				<logic:notPresent name="valeur">
		 					<td class="tablecel"></td>
		 				</logic:notPresent>
	 				</logic:iterate>
	 			</tr>
 			</logic:iterate>
 		</table>
        </div>       
    </body>
</html>
Sachant que resReq est un attribut de requete initialisé dans une classe Action :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
			ArrayList alRes = bdd.Query();
			request.setAttribute("resReq", alRes);
Et que la fonction Query() retourne un ArrayList d'ArrayList qui contient le résultat d'une requete "SELECT col1,col2,col3 FROM matable"

J'obtiens bien les résultats sous forme d'un tableau, de 3 colonnes et environ 1000 lignes :
A1 | A2 | A3
B1 | B2 | B3
C1 | C2 | C3
...

Je voudrais donc pouvoir afficher ce tableau sur plusieurs pages, pour être plus lisible.
J'ai donc : importé sous Eclipse le struts-layout.jar,
ajouté les actions treeview et sort dans struts-config.xml,
ajouté struts-layout.jar dans le répertoire WEB-INF/lib,
ajouté struts-layout.tld dans le répertoire WEB-INF,
copié les répertoire config et images à la racine de mon appli


Et j'ai remplacé le code de ma JSP par :
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
<%@ taglib uri="/WEB-INF/struts-layout.tld" prefix="layout" %>
 
<html>
    <head>
        <title>Mon appli</title>
        <link rel="stylesheet" href="./vues/style.css" type="text/css">
    </head>
 
    <body>
        <div>
		<layout:pager maxPageItems="10" width="80%">
			<layout:collection name="resReq" styleClass="ARRAY">
				<layout:collectionItem title="col1" />
				<layout:collectionItem title="col2" />
				<layout:collectionItem title="col3" />
			</layout:collection>
		</layout:pager>
        </div>       
    </body>
</html>
Mais là, il y a bien un tableau qui s'affiche, de 3 colonnes et 100 lignes et sur 100 pages, mais chaque cellule contient la ligne complète du résultat de ma requête:
col1 | col2 | Col3
A1,A2,A3 | A1,A2,A3 | A1,A2,A3
B1,B2,B3 | B1,B2,B3 | B1,B2,B3
C1,C2,C3 | C1,C2,C3 | C1,C2,C3
...

Si je modifie la fonction Query() pour quelle retourne un "simple" ArrayList qui contient le résultat de la requete, j'obtiens :
col1 | col2 | Col3
A1 | A1 | A1
A2 | A2 | A2
A3 | A3 | A3
B1 | B1 | B1
B2 | B2 | B2
B3 | B3 | B3
C1 | C1 | C1
C2 | C2 | C2
C3 | C3 | C3
...


Comment faire pour séparer les colonnes ?