[ Struts ][ ArrayList ]Probleme de recuperation du contenu d'un ArrayList
Bonjour,
J'initialise un ArrayList dans une classe Action:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| import java.util.ArrayList;
public class MaClasse extends Action {
public ActionForward execute(...) {
try {
ArrayList alCol = new ArrayList();
alCol.add("COL1");
alCol.add("COL2");
alCol.add("COL3");
alCol.trimToSize();
request.setAttribute("colReq", alCol);
...
return mapping.findForward("showResult");
}
} |
La page JSP affichée après l'exécution est la suivante:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>
<html>
<head>
<title>Affichage ArrayList</title>
</head>
<body>
<div>
<table>
<logic:iterate id="titres" name="colReq">
<tr>
<logic:iterate id="intitule" name="titres">
<td><bean:write name="intitule" /></td>
</logic:iterate>
</tr>
</logic:iterate>
</table>
</div>
</body>
</html> |
L'affichage de la JSP provoque l'erreur suivante:
Code:
org.apache.jasper.JasperException: Cannot create iterator for this collection
Par contre, si je remplace le code de ma classe:
Code:
request.setAttribute("colReq", alCol);
par:
Code:
1 2 3 4
|
ArrayList al = new ArrayList();
al.add(alCol);
request.setAttribute("colReq", al); |
Ca fonctionne correctement...
Qu'est-ce que le fait de copier mon ArrrayList dans un autre change ?