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 :

plusieurs Listes dans une liste


Sujet :

Struts 1 Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2006
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2006
    Messages : 113
    Par défaut plusieurs Listes dans une liste
    Bonjour,

    J'ai donc une liste Composé de Thèmes, à l'interieur de laquelle pour chaque theme, j'ai des options details, et pour chaque option détail, j'ai des domaines valeur(ce sont des radio boutons), Cequi nous fait en tout 3 listes imbriquées:
    Il ya 3 niveaux:

    Theme 1
    Option detail 1 oui non tous (domaines de valeur:radio boutons)
    Option detail 2 oui non tous (domaines de valeur:radio boutons)
    Theme 2
    Option detail 1
    ......
    ...

    dans Ma classe action j'envoie donc une liste composée de ces 3 collections:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    formulaire.setLesDomainesTh();
    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
     
    <%-- boucle des themes-->
    <logic:iterate id="Theme" name="form" property="lesDomainesTh" indexId="indTheme">
             <bean:write name="Theme" property="libelle"/>                         
     
                         <%-- boucle des options-->
     
       <logic:iterate id="OptionDetail" name="Theme" property="lesOptionsDetails" >               
                <bean:write name="OptionDetail" property="libelle"/>    
     
            <%--on affiche les radios boutons en fonction de loptionDetail en cours-->   
                 <logic:iterate id="DomaineValeur" name="OptionDetail"property="listeDomaineValeur" >         
     
     
                   <html-el:radio idName="DomaineValeur"  name="OptionDetail" property="identifiant(${indTheme},${indDetail})" value="identifiant">
                      <bean:write name="DomaineValeur" property="libelle"/>
                    </html-el:radio>
             </logic:iterate>                      
       </logic:iterate>                                    
    </logic:iterate>
    Mon probleme, c'est que je ne sais pas comment récuperer à la soumission, les valeurs des radios boutons EN FONCTION de chaque Option Detail, sachant que la liste de domaine valeur est imbriquée au 3eme niveau.
    Comment récuperer un truc du style (code option detail, id domaine valeur)
    en sachant que mes listes option detail et domaine valeur sont imbriquées.
    C'est pourquoi pour afficher un élément imbriqué dans la liste :
    .
    Ici,Le name n'est pas egal à "form", je ne peux donc pas creer un parametre dans le formulaire pour récuperer mes valeurs donc c'est la merde!!

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    376
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 376
    Par défaut
    L'important est de regarder le code source HTML généré par ton "code Struts". C'est la meilleure facon de comprendre ce qu'essaie de faire Struts.

    Petit rappel : quand Struts voit un champ du type : <html:text property="machin" name="truc" indexed="true"> (ou plutôt le résultat du submit d'un champ de ce type), il cherche, dans ton ActionForm, un getter du genre : "public TonObjet getTruc(int index)", pour faire, au final, une évaluation du style :
    "tonForm.getTruc(index).getMachin()"

    Il te faut donc coder une méthode du type "public TonObjet getTruc(int index)" qui renvoie un objet de ton itération.
    La même chose est à faire pour tous tes objets itérés (par exemple, dans ton objet "Theme" (ou plutôt sa classe), tu dois avoir, dans ton ActionForm, un getter du genre "tonForm.getOptionDetail(index)" qui te retourne l'enieme detail de l'objet "Theme".

    P.S. : Nommer une variable java "Theme" est contraire aux règles de nommage java et rend la compréhension de ton code plus difficile.

  3. #3
    Membre confirmé
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2006
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2006
    Messages : 113
    Par défaut
    as tu lu ce que j'ai marqué?
    affichez le code source n'est d'aucune utilité ici, ca n'a aucun rapport!!
    J'ai posté car j'ai un objet qui contient 3 listes imbriquées et je ne sais vraiment pas comment faire pour récuperer les valeurs selectionnées sachant qu'elles sont imbriquées. C'est pas comme si j'affichais une liste toute bête avec des radios boutons, mon pote!! non là, ya 3 listes, tu piges?? 3!!!

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    376
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 376
    Par défaut
    Citation Envoyé par mnemonic78
    affichez le code source n'est d'aucune utilité ici, ca n'a aucun rapport!!
    Alors qu'est-ce qui est en rapport ?? Je ne sais pas ce que donne une imbrication sur 3 niveaux, certes, mais le rendu HTML nous donnerait probablement la meilleure appréciation du comportement de Struts (si tu ne le penses pas, c'est que tu n'as rien compris à Struts). Et je pense que je peux t'aider.

    Et, si à l'avenir tu évites de me traiter implicitement d'abruti quand tu juges ma réponse peu pertinente (ou plutôt quand tu craques ton slip, comme on dit dans le jargon informatique), peut-être que je passerai un peu plus de temps à la résolution de tes problèmes.

    Je reste à l'écoute, et t'invite à me donner les renseignements demandés pour que je puisse t'aider plus efficacement.

  5. #5
    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
    Citation Envoyé par mnemonic78
    as tu lu ce que j'ai marqué?
    affichez le code source n'est d'aucune utilité ici, ca n'a aucun rapport!!
    J'ai posté car j'ai un objet qui contient 3 listes imbriquées et je ne sais vraiment pas comment faire pour récuperer les valeurs selectionnées sachant qu'elles sont imbriquées. C'est pas comme si j'affichais une liste toute bête avec des radios boutons, mon pote!! non là, ya 3 listes, tu piges?? 3!!!
    Oh oui la la culotte y est passée. Mais bon puisque tu as du en mettre une new on continue la discussion

    Perso je pense que lire à tete reposer ce que mixouille t'a dit devrait t'aider beaucoup plus que ce que tu veux bien penser. En effet la résolution de ton problème se trouve dans ces dires:

    Citation Envoyé par mixouille
    Il te faut donc coder une méthode du type "public TonObjet getTruc(int index)" qui renvoie un objet de ton itération.
    La même chose est à faire pour tous tes objets itérés (par exemple, dans ton objet "Theme" (ou plutôt sa classe), tu dois avoir, dans ton ActionForm, un getter du genre "tonForm.getOptionDetail(index)" qui te retourne l'enieme detail de l'objet "Theme".

  6. #6
    Membre chevronné
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    376
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 376
    Par défaut
    Ceci dit, personnellement, je ne sais pas où l'on doit mettre le getter "indexé" pour un sous-sous-...-sous-bean : dans l'ActionForm "général" (dans ce cas, avec quelle signature ??), ou dans le bean parent du sous-sous-...-sous-bean ? (plus probable il me semble)

  7. #7
    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
    Dans le form général, fait un getter qui appel ta premiere liste qui appel ta 2iemme qui appel ta 3iemme, bien sur il faut mettre le bon nombre d'argument donc au moins 2!

Discussions similaires

  1. une liste dans une liste?
    Par JerryOne3 dans le forum C#
    Réponses: 11
    Dernier message: 11/01/2009, 17h43
  2. [débutant] Comment gérer une liste dans une liste
    Par Lenoiche dans le forum iReport
    Réponses: 0
    Dernier message: 16/07/2008, 11h41
  3. champ d'une liste lié à une liste dans un autre site
    Par guintolli dans le forum SharePoint
    Réponses: 8
    Dernier message: 08/07/2008, 15h51
  4. Réponses: 5
    Dernier message: 27/09/2007, 14h39
  5. Appel d'une liste dans une liste (JSTL)
    Par abalgue dans le forum Hibernate
    Réponses: 4
    Dernier message: 15/06/2007, 11h56

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