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 :

Ecriture du label d'optionsCollection dans un bean


Sujet :

Struts 1 Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Inscrit en
    Mars 2007
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 3
    Par défaut Ecriture du label d'optionsCollection dans un bean
    Bonjour,

    J'utilise une liste d'éléments créée avec le tag html:select qui contient une html:optionsCollection :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <html:select name="beanElements" property="idElmtSelected" size="5">
    	<html:optionsCollection name="beanElements" property="listeObjetElements" value="id" label="libelle"/>
    </html:select>
    J'écris dans mon bean l'id de l'élément sélectionné :
    l'attribut property du select récupère l'attribut value du optionsCollection

    Mon problème est que je ne sais pas récupérer le libellé de cet élément contenu dans l'attribut label pour l'écrire dans mon bean...

    Merci d'avance pour votre aide

  2. #2
    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
    Perso j'ai rien compris à ton probleme.

    Tu pourrais essayer d'etre un brin plus clair...

    Et pour gagner du temps montre nous ta classe de ton bean qui est contenu dans la collection.

  3. #3
    Futur Membre du Club
    Inscrit en
    Mars 2007
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 3
    Par défaut
    Désolé, je réalisais mal ce dont on a besoin pour comprendre

    Voici mon bean :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    public class beanElements extends ActionForm {
     
    	private static final long serialVersionUID = 1L;
     
    	private String idElmtSelected = null;
    	private String libElmtSelected = null;
    	private List listeObjetElements = new ArrayList();
    Le code de ma jsp ci-dessus génère dans mon select les tags option suivants :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <option value="valeur_de_l'attribut_id">valeur_de_l'attribut_libelle</option>
    Le fait de mettre <html:select name="beanElements" property="idElmtSelected" size="5"> écrit le contenu du champ id dans idElmtSelected de mon bean.
    J'aimerais savoir s'il serait possible de récupérer le champ libelle avec un autre attribut du tag html:select

    Dans l'absolu je pourrais faire le traitement moi même en faisant correspondre l'id au libelle. Mais c'est vraiment un besoin ponctuel alors, puisqu'on m'a dit que c'était possible, je me forme !

  4. #4
    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
    Ok je viens de capter ce que tu souhaites.

    Euh la tu me poses une colle à vrai dire je n'ai jamais essayé et est toujours fait la correspondance id/Object par la suite dans mon action.

    Si jamais tu trouves avant moi sur le net, tu pourrais mettre la réponse ca m'intérésserais p'etre pour la suite.

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

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    Si tu as besoin des 2, en supposant que ta liste soit dans l'actionForm, tu peux aussi utiliser l'indice dans la liste pour l'attribut "value" de options (dans la page) et récupérer l'Id et le label (coté contrôleur ou form) via la liste d'objet à l'indice sélectionné
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    public MaForm extends ActionForm
    {
       private List laListe = new ArrayList();
       private int indiceSelectionne = 0;
    ...
       public MonObjetListe getMonObjetListeSelectionne()
       {
          return (MonObjetListe)laListe.get(indiceSelectionne);
       }
    }
    Tu vois ce que je veux dire ?

    A+
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  6. #6
    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
    MOi j'ai vu mais justement je crois que son but était de reussir a recuperer les 2 sans avoir a refaire de correspondance après entre, id/libelle, indice/id/libelle.

  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
    Citation Envoyé par Madkheops
    Dans l'absolu je pourrais faire le traitement moi même en faisant correspondre l'id au libelle. Mais c'est vraiment un besoin ponctuel alors, puisqu'on m'a dit que c'était possible, je me forme !
    Pourtant il a l'air d'avoir une source, lol! Peut-etre qu'ils se sont mal compris...

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

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    Je crois bien, parce que mettre le label à l'attribut "value" ok, mais du coup, il n'aura plus l'id
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  9. #9
    Futur Membre du Club
    Inscrit en
    Mars 2007
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 3
    Par défaut
    Merci à tous pour vos réponses rapides
    J'ai d'avantage besoin de l'id donc je pense effectivement faire la correspondance manuelle.
    Néanmoins, je le ferai avec beaucoup plus d'entrain maintenant que vous m'avez confirmé qu'aucune autre astuce plus simple ne vous parait envisageable !
    Merci encore pour vos lumières
    Bonne continuation !

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 29/11/2005, 10h10
  2. [Struts] paramètre JS dans un bean:define
    Par Mrlud dans le forum Struts 1
    Réponses: 4
    Dernier message: 09/06/2005, 14h38
  3. Réponses: 2
    Dernier message: 02/06/2005, 10h21
  4. Ecriture d'un seul bit dans un fichier
    Par fantomasmusic dans le forum Entrée/Sortie
    Réponses: 4
    Dernier message: 31/01/2005, 19h21
  5. [Struts]Accéder un bean dans le bean
    Par MasterMic dans le forum Struts 1
    Réponses: 4
    Dernier message: 13/09/2004, 10h23

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