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

Struts 1 Java Discussion :

Affichage d'une ArrayList avec logic:iterate


Sujet :

Struts 1 Java

  1. #1
    Membre régulier
    Inscrit en
    Février 2005
    Messages
    122
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 122
    Points : 110
    Points
    110
    Par défaut Affichage d'une ArrayList avec logic:iterate
    Bonjour,

    Voici un petit bout de code simple qui est sensé afficher le contenu d'une arrayList malheureusement celui-ci ne marche pas.
    Coté Serveur je fais bien un :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this.getRequest().setAttribute("listeProduits", liste);
    et la variable liste n'est pas vide c'est sur, j'ai un log qui me donne sa taille (16 elements).

    Cette liste contient des java beans issus de ma classe produit : Produit
    Je n'ai aucune erreur à l'éxecution.


    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
    <html:javascript formName="produitsEtInfoNutriForm"
    	bundle="produit" staticJavascript="false" />
     
    <html:form action="/insererListeProduits"
    	onsubmit="validateProduitsEtInfoNutriForm(this);">
     
    	<logic:notEmpty name="produitsEtInfoNutriForm" property="listeProduits">
    		<logic:iterate id="produits" name="produitsEtInfoNutriForm"
    			property="listeProduits">
     
    			<html:text name="produits" property="prdCode" />
     
    			<html:text name="produits" property="slibelle" />
     
    		</logic:iterate>
    	</logic:notEmpty>
     
    	<html:submit>Valider</html:submit>
     
    </html:form>
    Malheureusement, je n'arrive pas à afficher par iteration le contenu de cette liste.
    Si vous avez des idées elles sont les bienvenues.
    Merci d'avance pour vos réponses.

  2. #2
    Expert éminent

    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
    Points : 7 778
    Points
    7 778
    Par défaut
    C'est normal que rien ne s'affiche.
    Dans ton Action, tu as mis l'ArrayListe listeProduits dans le scope request mais à aucun moment, tu n'as mis à jour la propriété listeProduits de ton form-bean de name produitsEtInfoNutriForm.
    Donc, comme tu vérifies via le tag logic:notEmpty que la propriété listeProduits de produitsEtInfoNutriForm n'est pas vide, il ne passe jamais dans le logic:iterate.

    Donc, soit tu laisses le setAttribute et tu codes ceci dans ta jsp :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <logic:notEmpty name="listeProduits">
    	<logic:iterate id="produits" name="listeProduits">
    		<html:text name="produits" property="prdCode" />
    		<html:text name="produits" property="slibelle" />
    	</logic:iterate>
    </logic:notEmpty>
    Soit tu ne modifies pas la jsp mais tu codes ceci dans ton Action :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    ProduitsEtInfoNutriForm produitsEtInfoNutriForm = (ProduitsEtInfoNutriForm) form ;
    produitsEtInfoNutriForm.setListeProduits(liste) ;
    sans oublier de mettre name="produitsEtInfoNutriForm" dans le mapping de cette Action dans le struts-config.xml.
    Modératrice Java - Struts, Servlets/JSP, ...

  3. #3
    Membre régulier
    Inscrit en
    Février 2005
    Messages
    122
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 122
    Points : 110
    Points
    110
    Par défaut
    Citation Envoyé par c_nvy
    C'est normal que rien ne s'affiche.
    Dans ton Action, tu as mis l'ArrayListe listeProduits dans le scope request mais à aucun moment, tu n'as mis à jour la propriété listeProduits de ton form-bean de name produitsEtInfoNutriForm.
    Donc, comme tu vérifies via le tag logic:notEmpty que la propriété listeProduits de produitsEtInfoNutriForm n'est pas vide, il ne passe jamais dans le logic:iterate.

    Donc, soit tu laisses le setAttribute et tu codes ceci dans ta jsp :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <logic:notEmpty name="listeProduits">
    	<logic:iterate id="produits" name="listeProduits">
    		<html:text name="produits" property="prdCode" />
    		<html:text name="produits" property="slibelle" />
    	</logic:iterate>
    </logic:notEmpty>
    Soit tu ne modifies pas la jsp mais tu codes ceci dans ton Action :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    ProduitsEtInfoNutriForm produitsEtInfoNutriForm = (ProduitsEtInfoNutriForm) form ;
    produitsEtInfoNutriForm.setListeProduits(liste) ;
    sans oublier de mettre name="produitsEtInfoNutriForm" dans le mapping de cette Action dans le struts-config.xml.

    Merci beaucoup ça marche trés bien.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Affichage date avec logic:iterate dans jsp
    Par Philog dans le forum Struts 1
    Réponses: 2
    Dernier message: 21/07/2008, 08h40
  2. Affichage d'une Collection avec logic:iterate
    Par koukoya dans le forum Struts 1
    Réponses: 5
    Dernier message: 04/10/2006, 11h52
  3. Limiter les affichages d'une requete avec POstgre
    Par jenny50 dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 12/01/2006, 16h26
  4. [GD] Problème d'affichage d'une image avec gd2
    Par turini dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 04/10/2005, 11h59
  5. [EJB2.1 Entity] [BMP] [Struts] Problème avec <logic:iterate>
    Par romain3395 dans le forum Java EE
    Réponses: 2
    Dernier message: 07/06/2004, 10h12

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