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 multiple dans formulaire


Sujet :

Struts 1 Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2007
    Messages : 13
    Points : 12
    Points
    12
    Par défaut logic:iterate multiple dans formulaire
    Bonjour à tous,

    Après avoir chercher des heures et des heures, sur le net, une solution à mon problème, j'en viens à pauser celui-ci sur ce forum en espérant que quelqu'un puisse m'aider.

    Le problème est le suivant:
    J'ai une JSP qui possède dans sa session deux ArrayList. Quand je souhaite iterer chacune d'elle séparément sur la même page, le premier iterate affiche le contenu des deux ArrayList contenue comme Attribut de la session.

    Ma question est la suivante:
    Comment faire en sorte que chaque iterate n'affiche que le contenu du ArrayList donné comme nom de l'iterate?

    Pour plus d'info voici des bouts de code:
    -----------------------------------------------------------
    le fichier Action qui est appelé avant le forward vers la JSP

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    specificDaysList = bankHolidays.getSpecificDays();
    recurrentDaysList = bankHolidays.getRecurrentDays();
    session.setAttribute("SpecificDays" , specificDaysList);
    session.setAttribute("RecurrentDays" , recurrentDaysList);
    la JSP :

    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
    <%@ taglib uri="http://jakarta.apache.org/struts/tags-bean" prefix="bean"%>
    <%@ taglib uri="http://jakarta.apache.org/struts/tags-html" prefix="html" %>
    <%@ taglib uri="http://jakarta.apache.org/struts/tags-logic" prefix="logic" %>
    ...
    <logic:iterate id="specificDays" name="SpecificDays"> 
      <tr>
        <td align="center">
          <html:text value="${specificDays.date}" property="<%= specificDate %>"/>
        </td>
      </tr>
    </logic:iterate>
    ...
    <logic:iterate id="recurrentDays" name="recurrentDays"> 
      <tr>
        <td align="center">
          <html:text value="${recurrentDays.date}" property="<%= recurrentDate %>"/>
        </td>
      </tr>
    </logic:iterate>
    Voilà, si vous pouvez m'aider pour ceux qui auraient déjà rencontré ce problème, MERCI bcp d'avance.

  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
    Si tu veux que les deux listes s'affichent séparèment, il suffit de créer deux tableaux html.
    Modératrice Java - Struts, Servlets/JSP, ...

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2007
    Messages : 13
    Points : 12
    Points
    12
    Par défaut Concernant les deux tableaux HTML
    Je n'ai pas affiché tout le code de ma JSP pour ne pas polluer le post. Mais les deux tags logic:iterate sont déjà contenu dans deux <table> différents eux même contenus dans le principale de la page.

    Merci d'avoir répondu si vite à mon post.

  4. #4
    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
    Je n'ai donc manifestement pas compris quel est ton problème.
    Peux-tu être plus précis ?
    Modératrice Java - Struts, Servlets/JSP, ...

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2007
    Messages : 13
    Points : 12
    Points
    12
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <logic:iterate id="specificDays" name="SpecificDays"> 
      <tr>
        <td align="center">
          <html:text value="${specificDays.date}" property="<%= specificDate %>"/>
        </td>
      </tr>
    </logic:iterate>
    doit m'afficher les dates contenues dans dans les Objets stockés dans l'ArrayList specificDaysList (voir 1er msg)
    ex:
    01/01/2008
    24/03/2008
    01/05/2008
    02/05/2008
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <logic:iterate id="recurrentDays" name="recurrentDays"> 
      <tr>
        <td align="center">
          <html:text value="${recurrentDays.date}" property="<%= recurrentDate %>"/>
        </td>
      </tr>
    </logic:iterate>
    m'affichera les dates contenues dans dans les Objets stockés dans l'ArrayList recurrentDaysList. (voir 1er msg)
    ex:
    01/01
    Ma session contient bien les deux ArrayList (voir 1er msg). Lorsque je fais appel aux deux tags <logic:iterate> sur la même page, ils m'affichent le contenu de toutes les ArrayList de la session et deux fois.

    result:
    01/01/2008
    24/03/2008
    01/05/2008
    02/05/2008
    01/01

    01/01/2008
    24/03/2008
    01/05/2008
    02/05/2008
    01/01
    Pourquoi les attributs name et id ne suffisent pas pour différencier l'indexage souhaité?

  6. #6
    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
    Je ne sais pas pourquoi tu obtiens cet étrange résultat.
    Le problème peut venir de la jsp (n'ayant pas tout le code, je peux difficilement dire ce qui ne va pas) ou alors des méthodes getSpecificDays() et getRecurrentDays().

    Ceci dit, normalement, pour afficher le contenu de la collection SpecificDays, le code devrait plutôt être le suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <logic:iterate id="specificDay" name="SpecificDays"> 
      <tr>
        <td align="center">
          <html:text name="specificDay" property="date"/>
        </td>
      </tr>
    </logic:iterate>
    Par contre, cela va poser problème pour distinguer les deux champs de saisie date parce que la collection RecurrentDays est apparemment elle aussi constituée d'objets ayant pour propriété date.
    Modératrice Java - Struts, Servlets/JSP, ...

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2007
    Messages : 13
    Points : 12
    Points
    12
    Par défaut
    Un grand merci pour le temps que t'as passé sur ce problème. J'ai finalement trouvé l'erreur. J'ai eu la puce à l'oreil quand tu m'as di que ça provenait peut être de mes fonction get... J'ai donc été voir ces méthodes et l'erreur venait du fait que j'utilisais un seul ArrayList global pour ma classe. Du coup lorsque j'appelais les deux méthodes get aileur avec le même objet instancié, l'arrayList en question contenait toujours les anciennes données.

    Maintenant ça fonctionne !!! Encore un grand merci.

    ++

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

Discussions similaires

  1. [AC-2010] rafraichir liste choix multiples dans formulaire
    Par Shabby dans le forum IHM
    Réponses: 10
    Dernier message: 16/01/2013, 16h37
  2. [Toutes versions] requête multiple dans formulaire de recherche multi critère.
    Par Lyude dans le forum IHM
    Réponses: 16
    Dernier message: 11/05/2010, 18h51
  3. selection multiple dans formulaire
    Par ZeitnotEmmanuel dans le forum IHM
    Réponses: 1
    Dernier message: 16/03/2007, 17h42
  4. [MySQL] valeurs multiples dans formulaire
    Par Ksmônote dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 27/01/2006, 23h35
  5. [ STRUTS ] [ LOGIC:ITERATE ] tableau dans un formulaire
    Par LoulouFifi dans le forum Struts 1
    Réponses: 3
    Dernier message: 18/06/2004, 16h19

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