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 :

utilisation d'un selectOneMenu avec une liste


Sujet :

JSF Java

  1. #1
    Membre habitué
    Inscrit en
    Mars 2007
    Messages
    337
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 337
    Points : 188
    Points
    188
    Par défaut utilisation d'un selectOneMenu avec une liste
    Bonjour,

    j'essaye désespérément de comprendre comment on peut remplir un selectOneMenu (combobox de JSF) avec une liste générée par un bean.

    je ne comprends pas pourquoi j'ai une erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    1 <h:selectOneMenu value="#{fcAdd.idEntite}">
    			2 <f:selectItem itemValue=""/>
    			3 <f:selectItem value="#{fcAdd.listEntite}" />
    		4 </h:selectOneMenu>
    j'ai un joli petit point d'exclamation sur la ligne 3 qui me dit ceci :
    Cannot coerce type java.util.List to javax.faces.model.SelectItem

    dans mon bean, j'ai ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    public List<SelectItem> recupererDocuments(){
     
        	Session session = HibernateUtil.currentSession();
    		//Transaction tx= session.beginTransaction();
        	List<Entite> docs = new ArrayList<Entite>();
     
        	docs = session.createQuery("from Entite").list(); 
     
    		for (int i=0; i<docs.size(); i++) {
    			documentList.add(new SelectItem(docs.get(i).getIdEntite(),docs.get(i).getNomEntite()));
    		}
    		_listEntite = documentList; 
        	return _listEntite;
        }
    au niveau de la ligne "docs.createQuery", j'ai un warning :
    "Type safety: The expression of type List needs unchecked conversion to conform to List<Entite>"

    et quand je lance tout ça, j'ai la jolie erreur tomcat :
    "javax.faces.FacesException: Bean: com.AddForceCommercialeBean, property: listEntite"

    je ne comprends pas............

    pourtant je remplis bien ma liste.... je vois pas ce qui ne va pas
    (\ _ /)
    (='.'=) Voici Lapinou. Aidez le à conquérir le monde
    (")-(") en le reproduisant.

  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 : 46
    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
    Bonjour,

    Ce que je ferais :

    1. Renommer la méthode recupererDocuments() en getRecupererDocuments() (voire mieux, getDocuments()).

    2. Dans le code JSF utiliser <f:selectItems .../> :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <h:selectOneMenu ...>
        <f:selectItem itemValue="" itemLabel=""/>
        <f:selectItems value="#{fcAdd.recupererDocuments}"/>
    </h:selectOneMenu>
    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
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 807
    Points
    48 807
    Par défaut
    Cannot coerce type java.util.List to javax.faces.model.SelectItem
    Ca dit que ça ne peut pas convertir une propriété de type List en une propriété de type SelectItem, ce qui est logique

    Es-tu sur de ne pas confondre

    f:selectItem , qui correspond à un élément avec f:selectItems qui correspond à une liste d'éléments?

  4. #4
    En attente de confirmation mail
    Inscrit en
    Juin 2008
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 76
    Points : 58
    Points
    58
    Par défaut
    tu met ta liste dans une boucle, pour chaque élément de ta liste tu crée un new SelectItem(clé,valeur);

    que tu met ensuite dans une liste de ArrayList<SelectItem> list= new ArrayList<SelectItem>();

    et c'est cette liste que tu indique a ton composant JSF

    dis moi si ça te va ?

  5. #5
    Membre habitué
    Inscrit en
    Mars 2007
    Messages
    337
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 337
    Points : 188
    Points
    188
    Par défaut
    ça rouuuuuuuuuuuuuuuule !!!!


    merci, t'es un as !

    (\ _ /)
    (='.'=) Voici Lapinou. Aidez le à conquérir le monde
    (")-(") en le reproduisant.

  6. #6
    Membre du Club
    Inscrit en
    Juillet 2002
    Messages
    197
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 197
    Points : 54
    Points
    54
    Par défaut
    Slt, essaie avec le composant combobox de richface
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <rich:combobox suggestionValues ="#{beans1.values}" value="#{beans2.value}"/>
    les elements la List beans1.values seront transtypee automatiquement au type bean2.value
    cordialement.

  7. #7
    Rédacteur
    Avatar de JauB
    Homme Profil pro
    Freelancer
    Inscrit en
    Octobre 2005
    Messages
    1 792
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Maroc

    Informations professionnelles :
    Activité : Freelancer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 792
    Points : 2 914
    Points
    2 914
    Par défaut
    et si tu nous dis la solution adoptée qui a fait rouler les choses ?
    ça sera très coool de ta part
    Citation Envoyé par mouaa Voir le message
    ça rouuuuuuuuuuuuuuuule !!!!


    merci, t'es un as !

    Mes articles, Mon Blog

    Rubrique Jasper/iReport :
    ------- Forum Jasper --------
    ----- FAQ Jasper/iReport -----


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

Discussions similaires

  1. Réponses: 3
    Dernier message: 30/03/2014, 15h33
  2. Réponses: 2
    Dernier message: 29/01/2013, 14h46
  3. remplir selectOneMenu avec une liste
    Par AmineDev9 dans le forum JSF
    Réponses: 6
    Dernier message: 19/05/2009, 11h21
  4. Utilisation CASE WHEN avec une liste de valeurs
    Par mortimer.pw dans le forum PL/SQL
    Réponses: 5
    Dernier message: 26/03/2009, 12h50
  5. Utilisation de random avec une liste
    Par husobom dans le forum Prolog
    Réponses: 4
    Dernier message: 24/11/2007, 23h43

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