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 :

[Struts]<logic:iterate> parcours de plusieurs tableaux


Sujet :

Struts 1 Java

  1. #1
    Membre régulier
    Inscrit en
    Mai 2004
    Messages
    78
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 78
    Points : 73
    Points
    73
    Par défaut [Struts]<logic:iterate> parcours de plusieurs tableaux
    Salut,

    je voudrai savoir si il est possible de parcourir plusieurs tableaux avec un <logic:iterate>.

    ex: j'ai un tableau avec mes dates de début et un autre avec mes dates de fin (sachant que dateDebut[i] est liée à dateFin[i]).

    est-ce que je peux faire un truc du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <logic:iterate ...>
    	<tr>
    		<td>
    			<bean:write name="dateDebut"/>
    			<bean:write name="dateFin"/>
    		</td>
    	</tr>
    </logic:iterate>
    merci pour votre aide[/code]

  2. #2
    Membre éprouvé

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    882
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2004
    Messages : 882
    Points : 948
    Points
    948
    Par défaut
    de mémoire je ne pense pas, par contre les tags EL conviennent bien a ce genre de problème

    Sun Certified Business Component Developer
    Sun Certified Java Programmer
    --
    The definitive toolbox for GWT applications: gwt-toolbox
    My blog about Java and JEE: Benjamin's Blog

  3. #3
    Membre éprouvé

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    882
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2004
    Messages : 882
    Points : 948
    Points
    948
    Par défaut
    en fait je précise, avec les Struts-EL ca marche mais avec des tags "html" et non "bean":

    En effet le tag "bean:write" n'a pas été redéfini pour les EL, je te mets tout de même le code avec le html:el pour que tu vois a quoi ça ressemble

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
       <logic-el:iterate name="monForm" property="maProp" id="minId"
                         indexId="cpt">
           <html-el:text name="monForm"
                      property="maProp[${cpt}]" />
       </logic-el:iterate>

    Sun Certified Business Component Developer
    Sun Certified Java Programmer
    --
    The definitive toolbox for GWT applications: gwt-toolbox
    My blog about Java and JEE: Benjamin's Blog

  4. #4
    Membre régulier
    Inscrit en
    Mai 2004
    Messages
    78
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 78
    Points : 73
    Points
    73
    Par défaut
    Citation Envoyé par SEMPERE Benjamin
    de mémoire je ne pense pas, par contre les tags EL conviennent bien a ce genre de problème
    c'est quoi les tags EL ?

  5. #5
    Membre éprouvé

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    882
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2004
    Messages : 882
    Points : 948
    Points
    948
    Par défaut
    en combinant les struts tags avec les tags jstl ça doit passer

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
       <logic-el:iterate name="monForm" property="maProp" id="minId" 
                         indexId="cpt"> 
           <c:out value="${monForm.maProp[${cpt}]}" /> 
       </logic-el:iterate>
    enfin au niveau des jstl je te recommende le tuto de AdiGuba
    http://adiguba.developpez.com/tutori.../jstl/#L-c:out

    Sun Certified Business Component Developer
    Sun Certified Java Programmer
    --
    The definitive toolbox for GWT applications: gwt-toolbox
    My blog about Java and JEE: Benjamin's Blog

  6. #6
    Membre éprouvé

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    882
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2004
    Messages : 882
    Points : 948
    Points
    948
    Par défaut
    Citation Envoyé par asx9
    Citation Envoyé par SEMPERE Benjamin
    de mémoire je ne pense pas, par contre les tags EL conviennent bien a ce genre de problème
    c'est quoi les tags EL ?
    Les expression language donne un coup d'oeil au lien de mon post précédent et ici pour les extensions de struts
    http://struts.apache.org/faqs/struts-el.html


    Sun Certified Business Component Developer
    Sun Certified Java Programmer
    --
    The definitive toolbox for GWT applications: gwt-toolbox
    My blog about Java and JEE: Benjamin's Blog

  7. #7
    Membre expérimenté
    Avatar de viena
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    1 071
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 1 071
    Points : 1 512
    Points
    1 512
    Par défaut
    Ne serait il pas possible de passer tout simplement tes elements dans le meme tableau ?
    Un liste contenant les deux tableaux par exemple... ou construire un bean avec tes deux elements et d'en faire une liste...(plus propre et plus conforme aux models, mais plus lourd)
    Cours et tutoriels pour apprendre Java , FAQ Java, et Forum Java
    "La liberté de tout être s'arréte là où commence celle de l'autre... Respecter l'autre, c'est préserver sa liberté d'être, de penser et de vivre"

  8. #8
    Membre éprouvé

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    882
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2004
    Messages : 882
    Points : 948
    Points
    948
    Par défaut
    Citation Envoyé par viena
    Ne serait il pas possible de passer tout simplement tes elements dans le meme tableau ?
    Un liste contenant les deux tableaux par exemple... ou construire un bean avec tes deux elements et d'en faire une liste...(plus propre et plus conforme aux models, mais plus lourd)
    oui en effet habituellement c'est ce qu'il faut faire en plus c'est plus propre

    Sun Certified Business Component Developer
    Sun Certified Java Programmer
    --
    The definitive toolbox for GWT applications: gwt-toolbox
    My blog about Java and JEE: Benjamin's Blog

  9. #9
    Membre régulier
    Inscrit en
    Mai 2004
    Messages
    78
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 78
    Points : 73
    Points
    73
    Par défaut
    Citation Envoyé par viena
    Ne serait il pas possible de passer tout simplement tes elements dans le meme tableau ?
    Un liste contenant les deux tableaux par exemple... ou construire un bean avec tes deux elements et d'en faire une liste...(plus propre et plus conforme aux models, mais plus lourd)
    En fait j'ai 5 vecteurs...
    je pense que je vais mettre un peu de code java dans ma JSP. J'aurai voulu éviter mais c'est pas très grave

    Est-ce qu'on peut faire un <bean:write> d'un élément d'un vecteur ?

  10. #10
    Membre éprouvé

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    882
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2004
    Messages : 882
    Points : 948
    Points
    948
    Par défaut
    Citation Envoyé par asx9
    Citation Envoyé par viena
    Ne serait il pas possible de passer tout simplement tes elements dans le meme tableau ?
    Un liste contenant les deux tableaux par exemple... ou construire un bean avec tes deux elements et d'en faire une liste...(plus propre et plus conforme aux models, mais plus lourd)
    En fait j'ai 5 vecteurs...
    je pense que je vais mettre un peu de code java dans ma JSP. J'aurai voulu éviter mais c'est pas très grave

    merci pour votre aide
    Personnellement je pense que tu aurais tout a gagner a structurer tes données dans un bean (pour affichage)

    Sun Certified Business Component Developer
    Sun Certified Java Programmer
    --
    The definitive toolbox for GWT applications: gwt-toolbox
    My blog about Java and JEE: Benjamin's Blog

  11. #11
    Membre expérimenté
    Avatar de viena
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    1 071
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 1 071
    Points : 1 512
    Points
    1 512
    Par défaut
    tu peux faire un bean:write d'un element d'un vector...
    Mais je suis Benjamin et je confirme que se balader avec 5 vectors, c'est pas normal... Il y a un probleme dans ta communication entre couches.
    Cours et tutoriels pour apprendre Java , FAQ Java, et Forum Java
    "La liberté de tout être s'arréte là où commence celle de l'autre... Respecter l'autre, c'est préserver sa liberté d'être, de penser et de vivre"

  12. #12
    Membre régulier
    Inscrit en
    Mai 2004
    Messages
    78
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 78
    Points : 73
    Points
    73
    Par défaut
    Citation Envoyé par viena
    tu peux faire un bean:write d'un element d'un vector...
    ça m'intéresse mais j'ai du mal à trouver des exemples ds les docs.
    tu peux m'expliquer comment ça marche ?

  13. #13
    Membre expérimenté
    Avatar de viena
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    1 071
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 1 071
    Points : 1 512
    Points
    1 512
    Par défaut
    C'est tres simple.
    Tu crées une classe bean. Un bean c'est une classe qui en gros contient des attributs et les getters et setters les concernant (methodes d'acces).
    En voila un assez complet par exemple.
    Tu mets les getters et setters que tu veux, tu peux ainsi mettre en forme tes info et les preparer a l'affichage.
    Un bean:write ne va pas aller chercher directement de la valeur de l'attribut qui lui ai demandé mais va utiliser le getter.
    Donc par exemple
    <bean:write id=lib/> va chercher une methode getLib. donc si on veut par exemple afficher un code ligne special, on peut faire :
    <bean:write id=codeLibLigne /> qui appelera la methode getCodeLibLigne

    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    public class OtLigne implements Serializable {
      public OtLigne() {  }
      public OtLigne(String code) {
        this.codeLigne=code;
      }
      public OtLigne(String code,String lib) {
        this.codeLigne=code;
        this.libLgLigne=lib;
      }
     
      private String codeLigne;
      private String libLgLigne;
      private List lesVoies = null;
     
      public String getCodeLigne()  {
        return codeLigne;
      }
      public String getLibLgLigne()  {
        return libLgLigne;
      }
      public String getCodeLibLigne() {
        if(codeLigne.equals("TOUS"))
          return codeLigne;
        else
          return codeLigne + " - " + libLgLigne;
      }
      public List getLesVoies() {
        return lesVoies;
      }
      public void setCodeLigne(String codeLigne)  {
        this.codeLigne = codeLigne;
      }
      public void setLibLgLigne(String libLgLigne)  {
        this.libLgLigne = libLgLigne;
      }
      public void setLesVoies(List voies) {
        lesVoies.addAll(voies);
      }
      public void addVoie(OtTrVoie voie) {
        if(lesVoies==null)
          lesVoies=new ArrayList();
        lesVoies.add(voie);
      }
    }
    Cette classe est comme toutes les classes java (comme String). tu l'implemantes, tu crées tes objets et apres tu peux tres bien les ajouter à un vector ou une arrayList (comme tu ajouterais des String ou des Integer).
    Voila, c'est tout simple comme je le disais.
    Cours et tutoriels pour apprendre Java , FAQ Java, et Forum Java
    "La liberté de tout être s'arréte là où commence celle de l'autre... Respecter l'autre, c'est préserver sa liberté d'être, de penser et de vivre"

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

Discussions similaires

  1. [ STRUTS ] [ LOGIC:ITERATE ] tableau dans un formulaire
    Par LoulouFifi dans le forum Struts 1
    Réponses: 3
    Dernier message: 18/06/2004, 16h19
  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