Problème afficher collection avec un c:forEach
Voilà,
je débute avec Spring, Hibernate, JSTL
et je m'emploie à faire tourner des exemples, que je modifie, complexifie,
histoire de me faire la main.
Je suis parvenu à configurer Hibernate dans Spring, je peux mettre à jour mySQL
mais là où je coince depuis quelques jours,
c'est quand je veux rapatrier toute la table pour l'afficher sous forme de liste sur une page jsp
j'ai ça dans mon Controller:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
Map<String, String> table = new HashMap<String, String>();
ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext(
"applicationContext.xml");
((Test2springDAO) ctx.getBean("Test2springDAO"))
.save(new Test2springId(request.getParameter("data1"), request
.getParameter("data2"), Integer.parseInt(request
.getParameter("data3"))));
List results = ((EventSpringDao) ctx.getBean("EventSpringDao"))
.findAll();
for (Iterator iter = results.iterator(); iter.hasNext();) {
Test2springId temp = ((Test2springId) iter.next());
table.put("data1", temp.getTest2springA());
table.put("data2", temp.getTest2springB());
table.put("data3", String.valueOf(temp.getMontant()));
}
return new ModelAndView("lister", "table", table); |
jusque là c'est bon, j'ai vérifié il me rapatrie bien toute la table depuis la BD
et la met dans le HashMap
cependant après il n'affiche que le dernier champ que j'ai rajouté
Voici le code sur la page jsp( j'y mets que la portion intéressant l'affichage):
Code:
1 2 3 4 5 6 7
| <table border="2">
<c:forEach items="${table}" var="item">
<tr>
<td><c:out value="${item}" /> </td>
</tr>
</c:forEach>
</table> |