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 :

problème de répétition dans un menu déroulant en utilisant <logic:iterate>


Sujet :

Struts 1 Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 28
    Par défaut problème de répétition dans un menu déroulant en utilisant <logic:iterate>
    bonjour,
    voilà j'ai un petit souci, j'utilise un menu déroulant dans une page jsp (Strut) en utilisant la balise html <select> et <logic:iterate> ce qui m'évitera de définir un formulaire. Mon problème est que j'ai des répétitions au niveau de mon menu déroulant, et je sais pas comment faire pour les éviter!
    voici le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <select name="nomliste" id ="idlist">
    <logic:iterate id="idConfig" name="tests">
     <option value="<bean:write name="idConfig" property="ConfigCode"/>">
        <bean:write name="idConfig" property="ConfigCode"/>
     </option>
    </logic:iterate>
    </select>
    Merci beaucoups pour votre aide

  2. #2
    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
    Qu'entends-tu par répétitions ?

    Sinon, pour afficher ta liste déroulante, il y a plus simple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <html:select property="nomliste">
       <html:optionsCollection name="tests" value="configCode" label="configCode"/>
    </html:select>
    J'ai volontairement écrit configCode et non ConfigCode car selon les conventions de nommage Java, les noms des propriétés doivent commencer par une minuscule et une majuscule à chaque nouveau mot à partir du deuxième.
    Tu devrais donc renommer ConfigCode en configCode.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 28
    Par défaut
    merci pour ta réponse, ainsi que pour ta remarque, mais j'ai éviter d'utiliser <html:select> car sinon je serai obliger de définir un ActionForm associé.
    mon problème est que je ne sais pas comment faire afin de ne pas avoir les mêmes valeurs dans le menu, c'est à dire dans : <option>
    par exemple maintenant j'ai dans le menu {valeur1,valeur2,valeur1}

  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
    Et quel est l'intérêt de ne pas avoir d'ActionForm associée ?

    Sinon, c'est au moment où tu constitues la collection tests qu'il faut t'assurer que tu n'as pas de doublons.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 28
    Par défaut
    si je défini un nouveau ActionForm (un nouveau formulaire), il faut l'associer à une action et cela perturbe le fonctionnement général de l'application. par contre comme ça je récupére l'option sélectionné par javascript et je fait correctement mes traitement.
    Est ce que c'est possible de faire un test à l'aide de java script ou bien directement insérer du code java avant l'ecriture dans <option>, afin de vérifier que cette valeur n'existe pas déja.
    je ne peux modifié le bean retournant la collection car il est utilisé dans beaucoups d'autres appels!
    j'ai pensé à faire ça mais je connais pas trops en javascript
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     function testExist(){
        for (var i=0; i<document.getElementById('idlistConfig').options.length; i++) {
             if (document.getElementById('idlistConfig').options[i].value=="<bean:write name="idConfig" property="configCode"/>") {
                     return false;
            }
          }
            return true;
         }
        </script>

  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
    Mais sans modifier la méthode existante, tu pourrais très bien créer une nouvelle méthode qui retourne une collection d'objets distincts non ?

    Sinon, il y a toujours moyen de mettre du code Java dans la jsp mais bon, c'est franchement dommage.

    Je ne suis pas forte en Javascript mais le code que tu as posté ne pourra pas fonctionner car tu utilises un tag Struts qui s'exécute côté serveur avec du javascript qui s'exécute côté client.
    De plus, vu la logique que tu appliques, cela suppose que les valeurs en double se suivent, ce qui n'est peut-être pas le cas.

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 11/07/2008, 12h30
  2. Réponses: 5
    Dernier message: 15/08/2006, 16h51
  3. lister les noms de dossier dans un menu déroulant
    Par WeDgEMasTeR dans le forum Langage
    Réponses: 9
    Dernier message: 01/04/2006, 01h53
  4. problème de couleur dans le Menu [MainMenu - ImageList]
    Par alec_002 dans le forum Composants VCL
    Réponses: 8
    Dernier message: 01/09/2005, 15h29
  5. [FLASH MX] Action des boutons dans un menu déroulant
    Par zab_paris dans le forum Flash
    Réponses: 1
    Dernier message: 05/07/2005, 18h14

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