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

Taglibs Java Discussion :

Lire une ArrayList dans une JSP en utilisant ForEach


Sujet :

Taglibs Java

Vue hybride

ScReeeN Lire une ArrayList dans une... 20/07/2010, 01h37
tchize_ c'est 'name' et pas... 20/07/2010, 08h33
ScReeeN <c:forEach var="name" ... 20/07/2010, 12h43
c_nvy Les EL ne sont pas... 21/07/2010, 18h21
ScReeeN merci pour ta réponse, mais... 22/07/2010, 01h18
Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 28
    Par défaut Lire une ArrayList dans une JSP en utilisant ForEach
    Bonjour,
    J'aimerais lire une ArrayList dans une JSP grâce à la JSTL.

    Tout commence depuis ma servlet:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
     
    		request.setAttribute("ListName", Name.getAllName());
    		request.getRequestDispatcher("Name_JSP.jsp").forward(request, response);
     
    	}
    puis j'inclus le fichier c.tld dans ma JSP:

    Code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     <%@ taglib uri="/WEB-INF/c.tld" prefix="c"%>
    puis la boucle foreach:



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <c:forEach var="name"  items="${requestScope['ListName']}" >
              <option value="${ListName.nom}"> ${ListName.nom} </option>
    </c:forEach>
    Mais quand j'exécute j'obtiens une erreur pointant sur le request.getRequestDispatcher(), je pense que c'est dû à l'import du c.tld pourtant le fichier y est

    HELP ME PLS

  2. #2
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    c'est 'name' et pas 'ListName' dans ta boucle qu'il faut référencer. Ensuite, poste nous le message d'erreur complet.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 28
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <c:forEach var="name"  items="${requestScope['ListName']}" >
              <option value="${name.nom}"> ${name.nom} </option>
    </c:forEach>
    sa m'affiche ${name.nom}
    pourtant sa marche bien avec des boucles <% for %>

  4. #4
    Expert confirmé

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Par défaut
    Les EL ne sont pas interprétées.
    Cela signifie donc que ton application n'est pas définie en J2EE 1.4.
    Dans ce cas, il faut utiliser le tag <c:out>.

    Essaie ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <c:forEach var="name"  items="${requestScope['ListName']}" >
       <option value="<c:out value='${name.nom}'/>"><c:out value="${name.nom}"/></option>
    </c:forEach>

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 28
    Par défaut
    merci pour ta réponse, mais lorsque je lance la boucle sa me fait 1 seule itération alors qu'en réalité ils sont 3, j'arrive pas a parcourir mon ArrayList

  6. #6
    Expert confirmé

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Par défaut
    Je suppose qu'il t'affiche seulement le dernier record non ?
    si c'est bien le cas, c'est la constitution de l'ArrayList qui est incorrecte.
    Crées-tu bien une nouvelle instance d'objet à chaque itération ?
    Peux-tu poster le code qui constitue l'ArrayList ?

Discussions similaires

  1. [XL-2007] Afficher une checkbox dans une feuille si une checkbox d'une autre feuille est cochée
    Par JessieCoutas dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 18/08/2009, 13h35
  2. portée d'une variable dans une fonction dans une méthode
    Par laurentg2003 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 29/06/2009, 19h05
  3. [POO] dans une classe, appeler une fonction dans une méthode
    Par arnaudperfect dans le forum Langage
    Réponses: 3
    Dernier message: 26/08/2007, 23h04
  4. Envoyer une formulaire dans une page dans une Frame
    Par zooffy dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 29/06/2007, 10h13
  5. Recherche une valeur d'une cellule dans une colonne d'une autre feuille
    Par kourria dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 21/06/2007, 13h48

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