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 :

[DEBUTANTE]Récupérer une valeur d'une liste déroulante


Sujet :

JSF Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juin 2008
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 46
    Par défaut [DEBUTANTE]Récupérer une valeur d'une liste déroulante
    Bonjour,

    J'ai une liste déroulante qui contient des Villes (Ville étant un objet).
    J'ai rempli cette liste déroulante de la manière suivante:
    Code Java:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    listVille.add(new SelectItem(v,s));
    v : est un Objet Ville
    s: l'intitulé de la ville
    Code JSF :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <h:selectOneMenu id="selectVille" value="#{newSecteur.ville}">
                        <f:selectItems value="#{newSecteur.listVille}" />
                    </h:selectOneMenu>
    Je voudrais donc savoir comment récupérer l'objet ville sélectionné dans la liste car actuellement j'ai une erreur de conversion?

    Log d'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Conversion Error setting value 'secteur.Ville@a010df' for 'null Converter'
    Merci de prêter attention à mon post

  2. #2
    Expert confirmé
    Avatar de djo.mos
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    4 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 666
    Par défaut
    Bonjour,
    Faut faire un convertisseur depuis String vers Ville :
    http://java.developpez.com/faq/jsf/?...ION_converter1

    http://java.developpez.com/faq/jsf/?...ION_converter2


    Ou plus simple, utiliser plutôt un champ de la ville comme valeur, genre son identifiant par exemple ?

  3. #3
    Membre averti
    Inscrit en
    Juin 2008
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 46
    Par défaut
    Merci, il est vrai que je n'avais pas porté attention à la notion de Converter!
    Par contre, c'est peut-être une question bête, mais sachant que ma liste déroulante contient l'objet et le string, je peux pas récupérer l'objet directement au lieu de la chaine de caractère?

    Ou plus simple, utiliser plutôt un champ de la ville comme valeur, genre son identifiant par exemple ?
    Tu veux dire au lieu de mettre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    listVille.add(new SelectItem(v,s));
    mettre par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    listVille.add(new SelectItem(v.getId(),s));
    Du coup cela voudrait-il dire que lorsque qu'on veut récupérer une sélection dans une liste déroulante, tu récupères "s" (soit la chaine de caractère) et non pas v.getId() ?

    Merci beaucoup de m'éclairer sur ces points tout bête...

  4. #4
    Membre confirmé
    Étudiant
    Inscrit en
    Juin 2006
    Messages
    66
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2006
    Messages : 66
    Par défaut
    salut,

    non, on récupère toujours la value du selectItem soit le premier paramètre, le deuxième ne sert qu'a l'affichage.

  5. #5
    Membre averti
    Inscrit en
    Juin 2008
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 46
    Par défaut
    Ok merci pour la réponse!
    J'ai donc opté pour le converter mais je n'arrive pas à établir ma méthode getAsObject pour récupérer mon objet!!!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     public Object getAsObject(FacesContext arg0, UIComponent arg1, String arg2) {
            System.out.println("\n Argument getAsObject : " + arg2 + "\n");
            Long o = Long.parseLong(arg2);
            Ville ville = new Ville();
            ville.setId_ville(o);
            System.out.println("\n ville.getID getAsObject: "+ville.getId_ville()+"\n");
            return ville;
        }
    Il me dit que la valeur n'est pas valide!

    Quelqu'un aurait-il une idée?

    Merci

  6. #6
    Membre averti
    Inscrit en
    Juin 2008
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 46
    Par défaut
    Ça ne marche toujours pas donc j'ai tenté la chose suivante car je travaille également avec des EJB :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
        @EJB(name="VilleFacade/Local")
        private VilleFacadeLocal villeFacadeLocal;
     
     public Object getAsObject(FacesContext arg0, UIComponent arg1, String arg2) {
            return villeFacadeLocal.findVille(Long.parseLong(arg2));
        }
    Mais il me renvoie l'erreur suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    executePhase(PROCESS_VALIDATIONS 3,com.sun.faces.context.FacesContextImpl@5789e6) threw exception
    javax.faces.FacesException
    ...
    java.lang.NullPointerException
            at converter.VilleConverter.getAsObject(VilleConverter.java:26)
    ...
    Vous me direz :" ta requête ne renvoie rien!" .

    Mais en fait il ne rentre jamais dans ma méthode "findVille" alors que je l'utilise dans mon backing-bean!!!!

    Help please!!!!

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 13/04/2015, 11h17
  2. [WD16] Récupérer la valeur d'une colonne d'une table d'une ligne précise
    Par elghers_hocine dans le forum WinDev
    Réponses: 16
    Dernier message: 06/05/2011, 18h11
  3. Réponses: 3
    Dernier message: 12/11/2010, 23h14
  4. Recherche une valeur d'une cellule dans une colonne d'une autre feuille
    Par kourria dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 21/06/2007, 13h48
  5. Réponses: 4
    Dernier message: 07/08/2006, 17h01

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