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 :

Problème avec Ma SelectOneListBox vide


Sujet :

JSF Java

  1. #1
    Membre habitué

    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    639
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 639
    Points : 167
    Points
    167
    Par défaut Problème avec Ma SelectOneListBox vide
    Bonjour

    J'ai un composant SelectOneListBox rattaché (normalement) à une liste du controller, mais à l'affichage elle est vide, pouvez-vous m'aider à comprendre?

    Voici mon code JSP :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <h:selectOneListbox id="categorie" 
             value="#{formationController.cours.categorie}">
                <f:selectItems value="#{formationController.listCategories}"/>
            </h:selectOneListbox>
    Voici mon controller :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    public class FormationController {
    	Cours cours=new Cours();
     
    	List listCategories = new ArrayList();
    	{
    		listCategories.add("Informatique");
    		listCategories.add("Management");
    		listCategories.add("Décoration");
    		listCategories.add("Comptabilité");
    	}
    Merci!

  2. #2
    Nouveau membre du Club
    Inscrit en
    Janvier 2007
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 26
    Points : 25
    Points
    25
    Par défaut
    Bonjour,

    SelectItems prend en paramètre des élements de type SelectItem.
    Voici la méthode que j'utilise:


    Dans mon Managed Bean
    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
     
    private SelectItem[] choix;
     
    public SelectItem[] getChoix() {
            Collection liste = new ArrayList();
            //je récupère ma liste d'éléments
            liste = getRequete().getAllCatalogue();
            int i = 0;
            Iterator it = liste.iterator();
            choix = new SelectItem[liste.size()];
            while (it.hasNext()) {
                //je récupère mes éléments
                Catalogue cst = (Catalogue)it.next();
                //SelectItem prend en paramètre la clé, le libéllé
                choix[i] = new SelectItem(cst.getIdcatalogue(), cst.getLibelle());
                i++;
            }
            return choix;
        }
    Et dans ma page jsp je fais comme toi un:
    J'espère que j'ai été clair.

  3. #3
    Membre habitué

    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    639
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 639
    Points : 167
    Points
    167
    Par défaut
    J'ai repris ton exemple et appliqué a mon source et j'obtiens le message d'erreur suivant :
    [ServletException in:/templates/template.jsp] Value binding '#{formationController.listItemsCategories}' of UISelectItem : {Component-Path : [Class: javax.faces.component.UIViewRoot,ViewId: /pages/CreateCours.jsp][Class: javax.faces.component.html.HtmlPanelGrid,Id: mainLayout][Class: javax.faces.component.html.HtmlPanelGroup,Id: pageContext][Class: javax.faces.component.html.HtmlForm,Id: _idJsp16][Class: javax.faces.component.html.HtmlPanelGrid,Id: _idJsp17][Class: javax.faces.component.html.HtmlSelectOneListbox,Id: categorie][Class: javax.faces.component.UISelectItem,Id: _idJsp22]} does not reference an Object of type SelectItem'
    voici le code de mon managedbean:
    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
    28
    public class FormationController {
    	Cours cours=new Cours();
    	Planification planification=new Planification();
    	PlanificationId planId=new PlanificationId();
    	List listCategories = new ArrayList();
     
    	{
    		listCategories.add("Informatique");
    		listCategories.add("Management");
    		listCategories.add("Décoration");
    		listCategories.add("Comptabilité");
    	}
     
    	SelectItem[] listItemsCategories; 
     
    	public SelectItem[] getListItemsCategories() {
    		Iterator it = this.listCategories.iterator();
    		int i = 0;
    		listItemsCategories = new SelectItem[this.listCategories.size()];
    		while (it.hasNext()){
    			String cat = (String) it.next();
    			listItemsCategories[i] = new SelectItem(cat,cat);
    			i++;
    		}
     
    		return listItemsCategories;
    	}
    (...)
    Ma jsp :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    		<h:selectOneListbox id="categorie" 
             value="#{formationController.cours.categorie}">
                <f:selectItem value="#{formationController.listItemsCategories}"/>
            </h:selectOneListbox>

  4. #4
    Nouveau membre du Club
    Inscrit en
    Janvier 2007
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 26
    Points : 25
    Points
    25
    Par défaut
    Excuse moi dans la jsp c'est:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <f:selectItems value="#{catalogueBean.choix}"/>
    il faut pas oublier le "s"

  5. #5
    Membre habitué

    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    639
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 639
    Points : 167
    Points
    167
    Par défaut
    Nickel,Merci!
    Petite dernière question : existe-t-il un composant qui ressemble à celui ci mais qui n'affiche que le premier item, c'est juste en cliquant sur une petite flèche descendante (à la droite dans le composant) que la liste des autres items s'afficheraient. (j'espère avoir été clair...)?

  6. #6
    Membre habitué

    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    639
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 639
    Points : 167
    Points
    167
    Par défaut
    SelectOneMenu, cool!

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

Discussions similaires

  1. problème avec un JFormattedTextField vide
    Par im-rainmaker dans le forum Débuter
    Réponses: 2
    Dernier message: 12/11/2008, 16h44
  2. Etat - problème avec des contrôles vides
    Par ver_for dans le forum IHM
    Réponses: 2
    Dernier message: 17/09/2008, 15h55
  3. [Administration] Problème avec identifications, journal vide
    Par semheis dans le forum Subversion
    Réponses: 1
    Dernier message: 03/09/2007, 12h07
  4. Problème avec multibox si vide
    Par Gildas Huart dans le forum Struts 1
    Réponses: 7
    Dernier message: 07/05/2007, 12h05
  5. [FLASH MX2004] Problème avec un clip vide
    Par vbcasimir dans le forum Flash
    Réponses: 5
    Dernier message: 10/02/2006, 15h06

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