IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Servlets/JSP Java Discussion :

Problème afficher collection avec un c:forEach


Sujet :

Servlets/JSP Java

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2002
    Messages : 42
    Points : 34
    Points
    34
    Par défaut 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 : 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
     
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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>

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    230
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 230
    Points : 310
    Points
    310
    Par défaut
    Bonjour,

    Je ne connais pas le fonctionnement du <c:forEach>, par contre ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    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()));
    }
    ça implique que tu n'aies au maximum que 3 éléments dans ta HashMap (un ayant pour clef "data1", un autre "data2" et un troisième "data3") puisque la méthode "put", comme spécifié dans la doc, "Associates the specified value with the specified key in this map. If the map previously contained a mapping for this key, the old value is replaced."

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2002
    Messages : 42
    Points : 34
    Points
    34
    Par défaut
    ah ok, c'est sans doute celà,
    purée, j'ai laissé tomber le java il y a deux ans,
    ça revient petit à petit

    je vais repotasser les collections

Discussions similaires

  1. Réponses: 4
    Dernier message: 26/07/2011, 15h22
  2. Réponses: 0
    Dernier message: 28/10/2009, 21h29
  3. Réponses: 2
    Dernier message: 18/08/2009, 10h58
  4. problème de recherche avec les collections
    Par gibea00 dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 21/08/2007, 23h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo