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 :

[logic:iterate] arreter la boucle


Sujet :

Struts 1 Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Février 2007
    Messages
    134
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 134
    Par défaut [logic:iterate] arreter la boucle
    Bonjour,

    comment on peut arreter la boucle iterate de <logic:iterate>
    je recupere la catégorie de mon produit, et je veux l'afficher evidemment une seule fois dans ma jsp puiqu'elle ne change pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <logic:iterate id="Produit" name="listeProduit">
    Catégorie : <bean:write name="Produit" property="categorie"/>
    </logic:iterate>
    j'ai cherché dans la doc, mais j'ai pas trouvé l'astuce

    merci d'avance !

  2. #2
    Membre Expert Avatar de maxf1
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 229
    Par défaut
    Pourquoi ne pas faire un objet qui ne contiendrait qu'une seule fois ton produit? Et ainsi faire le logic iterate sur tous tes produits?

    Car arreter le logic iterate je ne vois pas à quoi ca sert dans ton cas car si tu l'arrete et que tu as d'autres produits après tu ne les afficheras pas. De plus je ne vois pas du tout comment on pourrait arrété une boucle "prédéfini" sur la taille de la liste.

    Sinon tu peux toujours regarder à l'intérieur du logic:iterate si tu a deja mis le produit avec un logic:equals

    J'espere avoir pu t'aiguiller. Si je suis completement à coté de la plaque essaye de mieux expliquer ton probleme

  3. #3
    Membre confirmé
    Inscrit en
    Février 2007
    Messages
    134
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 134
    Par défaut
    je vais t'expliquer la situation de mon pb,
    j'ai une base de données qui contient des produits differents appartenant a des categories differentes :
    j'ai un menu qui permet de cliquer sur une categorie : info, livres, etc...
    dans une classe ActionListeProduits, je retourne un arraylist pour la catégorie demandée contenant nom_produit, prix, et description, et je recupere aussi la categorie qui me sert a coder une seule page jsp : (je vais pas m'amuser a faire 50 pages jsp si j'ai 50 categories), mon code se presente ainsi :
    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
    22
    23
    24
    25
     
    <center> 
    			<h1>LISTE DES PRODUITS</h1>
    			<br /><br />
    			<logic:iterate id="Produit" name="listeProduit">
    				Catégorie : <bean:write name="Produit" property="categorie"/>
    			</logic:iterate>
    			<br /><br />
     
    		<table border="1">
             <tr>
                <td>Produit </td>
                <td>prix en Euros</td>
                <td>description</td>
                <td>Quantité</td> 
             </tr>
          <logic:iterate id="Produit" name="listeProduit">
             <tr>
                <td><bean:write name="Produit" property="nomProduit"/></td>
                <td><bean:write name="Produit" property="prix"/></td>
                <td><bean:write name="Produit" property="description"/></td>
                <td><html:text property="quantité" value="0"> </html:text></td>
             </tr>
          </logic:iterate>
    	 </table>
    je sais pas s'il existe plus simple pour coder ce que je veux faire, j'espere que oui, meme si je vais passer pour un ane !!!
    merci de ton aide

  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
    Tu pourrais mettre la catégorie dans le scope request via un :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    request.setAttribute("categorie",categorie);
    et l'afficher tout simplement dans ta jsp via un :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <bean:write name="categorie"/>

  5. #5
    Membre confirmé
    Inscrit en
    Février 2007
    Messages
    134
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 134
    Par défaut
    je te remercie, ca marche,
    j'ai une deuxieme question :
    je rajoute dans le <logic:iterate> un champ quantité
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <td><html:text property="quantité" value="0"> </html:text></td>
    et un bouton pour valider,
    pour le champ quantité j'arrive, mais pour le submit, quand je declare un <html:form> il aime pas,
    voici mon code :
    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:form action="/ajouterPanier.do">		
    	<table border="1">
             <tr>
                <td>Produit </td>
                <td>prix en Euros</td>
                <td>description</td>
                <td>Quantité</td> 
             </tr>
          <logic:iterate id="Produit" name="listeProduit">
             <tr>
                <td><bean:write name="Produit" property="nomProduit"/></td>
                <td><bean:write name="Produit" property="prix"/></td>
                <td><bean:write name="Produit" property="description"/></td>
                <td><html:text property="quantité" value="0"> </html:text></td>
             </tr>
          </logic:iterate>
          <html:submit value="ajouter au panier"></html:submit>
    	 </table>
    	</html:form>
    j'ai ce message d'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    javax.servlet.ServletException: Cannot retrieve definition for form bean null on action /ajouterPanier.do
    merci de ton aide..

  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
    Si tu rajoutes un html:form, il faut :

    - créer une classe qui hérite de ActionForm avec pour propriété quantite et getter et setter sur quantite.
    - la déclarer dans le struts-config.xml dans la balise form-bean.
    - l'ajouter dans le mapping de ton Action de path /ajouterPanier via l'attribut name, en précisant scope="request" et input="/nomDeTaJsp.jsp".

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 10/02/2010, 19h55
  2. [Struts][logic:iterate] Probleme avec String
    Par julienOriano dans le forum Struts 1
    Réponses: 7
    Dernier message: 15/06/2004, 09h39
  3. [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
  4. [struts][iterate] problème logic:iterate avec un Vector
    Par jaimepasteevy dans le forum Struts 1
    Réponses: 9
    Dernier message: 31/03/2004, 18h05
  5. [Struts] logic:iterate avec un Vector
    Par laurentb dans le forum Struts 1
    Réponses: 18
    Dernier message: 03/03/2004, 14h42

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