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

JSF Java Discussion :

[JSP & IceFace] SelectOneMenu, probleme simple


Sujet :

JSF Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2007
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 26
    Points : 12
    Points
    12
    Par défaut [JSP & IceFace] SelectOneMenu, probleme simple
    Bonjour,
    J'ai un problème tout simple, c'est de sélectionner un item dans ma drop down list.
    Mon problème se situe dans un formulaire de mise a jour d'un objet "Compte", cet objet contient un membre "Client". j'ai fait un formulaire avec une drop down list pour sélectionner le client, mais je n'arrive pas pour une édition de l'objet "Compte" a afficher le bon item dans la liste.
    Ce qui revient en html a faire (pour exemple):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <select name="sdf" id="sdf">
      <option>1</option>
      <option selected="selected">2</option>
      <option>3</option>
    </select>
    Mon code JSF :

    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
    21
    22
    23
    24
    25
    26
    27
     
        private ArrayList<SelectItem> listCompteClient = new ArrayList<SelectItem>();
     
        public ArrayList<SelectItem> getListCompteClient() {
            return listCompteClient;
        }
     
        public void setListCompteClient(ArrayList<SelectItem> listCompteClient) {
            this.listCompteClient = listCompteClient;
        }
        private void generateClientList() { // Construction de la liste en fonction de l'ebj
            listCompteClient.clear();
            for (Client client : banqueActionBean.getListClient()) {
                listCompteClient.add(new SelectItem(client.getId(), client.toString()));
            }
        }
     
         @Override
        public void init() {
               generateClientList();
        }
     
    // JSF (Avec Icefaces 1.6.1)
     
    <ice:selectOneMenu binding="#{admin$index.select1MenuClients}" id="select1MenuClients" style="width: 120px" >
       <f:selectItems binding="#{admin$index.selectOneMenu1selectItems}" id="selectOneMenu1selectItems" value="#{admin$index.listCompteClient}"/>
    </ice:selectOneMenu>
    Tk's

  2. #2
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Points : 7 275
    Points
    7 275
    Par défaut
    Je ne suis pas sûr d'avoir tout à fait compris le problème, mais ne faudrait-il pas que tu spécifies l'attribut value pour ton composant selectOneMenu (qui pointe vers la valeur séléctionnée dans la combobox) ?
    Nous sommes tous semblables, alors acceptons nos différences !
    --------------------------------------------------------------
    Liens : Blog | Page DVP | Twitter
    Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
    Critiques : Apache Maven

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2007
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 26
    Points : 12
    Points
    12
    Par défaut
    J'ai effectivement essayer d'utiliser le value de l'objet après l'avoir binder sur le backbean, j'ai envoyer un object "String", un "SelectItem", un "Int" correspondant a la liste initiale mais rien ne marche . J'ai essayer ces modifications a l'initialisation du bean ou sur une simple action d'un "Button".
    Si vous avez une idée n'hésiter pas

    Tk's

  4. #4
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Points : 7 275
    Points
    7 275
    Par défaut
    Normalement, le value du selectOneMenu doit pointer vers une propriété de type Integer (enfin je suppose, si client.getId() retourne bien un int / Integer) dans ton bean (où tu fournis le setter et le getter).
    Ensuite, tu peux initialiser sa valeur afin qu'une valeur soit affichée dans le combobox sur la page.
    Maintenant, je ne suis pas sûr de l'intérêt de binder tes composants ici (mais bon, moi je ne suis pas du tout adepte du binding, je ne m'en sers jamais, mais c'est aussi un choix).
    Nous sommes tous semblables, alors acceptons nos différences !
    --------------------------------------------------------------
    Liens : Blog | Page DVP | Twitter
    Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
    Critiques : Apache Maven

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2007
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 26
    Points : 12
    Points
    12
    Par défaut
    Effectivement après vérification il faut que la valeur utilisé soit du même type d'object pour être sélectionner.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    List.add(new SelectItem(1,"test");
    SelectOneMenu.setValue(1);
    ...
    Merci pour votre reponse

Discussions similaires

  1. Probleme (simple) sur un select distinct
    Par phaby dans le forum Requêtes
    Réponses: 2
    Dernier message: 03/04/2006, 13h38
  2. Probleme simple, mais grave!
    Par vienin dans le forum C++
    Réponses: 15
    Dernier message: 09/12/2005, 01h05
  3. Probleme simple : Update du champ le + petit
    Par barok dans le forum Requêtes
    Réponses: 6
    Dernier message: 10/09/2005, 13h33
  4. Probleme simple de debutant avec INSERT TO et UPDATE
    Par Tom_Cruise dans le forum Langage SQL
    Réponses: 5
    Dernier message: 26/08/2005, 08h15
  5. probleme simple de tab[][]
    Par vince3320 dans le forum C
    Réponses: 8
    Dernier message: 17/05/2004, 17h48

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