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 :

concaténation de deux champs dans une liste déroulante


Sujet :

Struts 1 Java

  1. #1
    Membre du Club
    Inscrit en
    Avril 2007
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 112
    Points : 54
    Points
    54
    Par défaut concaténation de deux champs dans une liste déroulante
    Salut ,

    j'ai besoin de remplir une liste déroulante de la manière suivante.
    dans une servlet je retourne une liste d'objet Commune(nom,id,code...)
    j'affecte cette liste à une property déclarer dans mon fichier struts-config.xml.

    je crée ensuite dans ma jsp une liste déroulante ,
    le problème c'est que dans la propriété 'label' je dois concaténer deux champs pour les afficher. codeCommune + NomCommune.

    ce bout de code fonctionne mais juste en affichant dans la liste les codeCommune.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <html:select property="communeId">
                            
    <html:option value="" />
                        
    <html:optionsCollection name="ReferentielForm"
          property="communes" label="codeCommune"  value="iCommune" />
                            
    </html:select>
    Comment pourrai-je concaténer dans la propriété label ??

    merci

  2. #2
    Membre confirmé Avatar de supermanu
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    330
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 330
    Points : 452
    Points
    452
    Par défaut
    Tu peux utiliser un bean de Struts : LabelValueBean du package org.apache.struts.util.LabelValueBean

    Au lieu de renvoyer une liste de Commune tu renvoie une liste de LabelValueBean :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ArrayList liste = new ArrayList();
    liste.add(new LabelValueBean("label 1", "value 1" ));
    liste.add(new LabelValueBean("label 2", "value 2" ));
    évidemment tu remplace label x par commune.getCodeCommune() + commune.getNomCommune()

    Et dans ta jsp,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <html:optionsCollection name="ReferentielForm"
          property="communes" property="value" labelProperty="label"/>
    En bonus, la javadoc : http://struts.apache.org/1.3.8/apidocs/org/apache/struts/util/LabelValueBean.html
    penses à mettre des balises CODE # autour de ton code
    Pensez au tag
    Mon blog Tutoriels et Astuces en Java : http://emmanuelpierre.free.fr/blog/index.php?

  3. #3
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 310
    Points : 9 522
    Points
    9 522
    Billets dans le blog
    1
    Par défaut
    A tester...

    Tu pourrais aussi ajouter une méthode getCodeLabel() dans ton objet Commune et changer le nom dans le tag
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <html:optionsCollection name="ReferentielForm"
          property="communes" property="value" labelProperty="codeLabel"/>
    Comme tout est normalisé, pour la propriété "codeLabel", il cherche la méthode getCodeLabel()
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  4. #4
    Membre du Club
    Inscrit en
    Avril 2007
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 112
    Points : 54
    Points
    54
    Par défaut
    je dois garder la première méthode pour récupérer aussi l'IdCommune dans la proriété value.

Discussions similaires

  1. Réponses: 5
    Dernier message: 01/06/2007, 14h20
  2. [MySQL] Afficher toutes les données d'un champ dans une liste déroulante
    Par Touareg dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 19/03/2007, 12h42
  3. [MySQL] Deux champs dans une liste
    Par rasmulti dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 23/02/2007, 20h33
  4. [C#] Concaténer 2 champs dans une liste déroulante
    Par wil4linux dans le forum ASP.NET
    Réponses: 8
    Dernier message: 28/06/2006, 08h57
  5. Réponses: 5
    Dernier message: 27/05/2005, 17h10

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