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 :

erreur remplissage d'un selectOneMenu


Sujet :

JSF Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé

    Inscrit en
    Décembre 2005
    Messages
    260
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 260
    Par défaut erreur remplissage d'un selectOneMenu
    Bonjour à tous j'ai quelques soucis pour le remplissage d'une selectOneMenu
    voila mon bout de code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <h:selectOneMenu id="selectionIndices" value="jsf.managedBean.IndiceGUI.IndiceChoisi">				<f:selectItems value="jsf.managedBean.IndiceGUI.recupererIndice" />
    				</h:selectOneMenu>
    et voila une partie de mon 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
     
    private String IndiceChoisi;
        private static ArrayList<SelectItem> IndiceList = new ArrayList<SelectItem>();
    public IndiceGUI() {
    		indicefacade=(IIndiceFacade)(new XmlBeanFactory(new ClassPathResource(
    		"applicationContext.xml"))).getBean("IndiceFacade");
     
    	}
     
        public static List<SelectItem> getRecupererIndice(){
        	Indices=indicefacade.getIndices();
        	for (int i=0; i<Indices.size(); i++) {
    			IndiceList.add(new SelectItem(Indices.get(i).getIndiceId(),Indices.get(i).getNomIndice()));
     
        	}
    		return IndiceList;		
        }
    quand j'execute cette page j'ai l'erreur suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    javax.servlet.ServletException: Expected a child component type of UISelectItem/UISelectItems for component type javax.faces.SelectOne(selectionIndices).  Found java.lang.String.
    	javax.faces.webapp.FacesServlet.service(FacesServlet.java:256)

  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 : 47
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Par défaut
    Bonjour,

    Tu t'y prends mal pour "populer" ton selectOneMenu.
    Il faut avoir quelque chose comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <h:selectOneMenu id="selectionIndices" value="#{bean.indiceChoisi}">
        <f:selectItems value=#{bean.recupererIndices}"/>
    </h:selectOneMenu>
    Le value du selectOneMenu correspond à l'ID de l'indice sélectionné par l'utilisateur.
    Le value du selectItems correspond à la liste d'indices sélectionnables.

    Donc du côté du bean, on a :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    private Integer indiceChoisi; // Ecrire getter et setter.
     
    public List<SelectItem> getRecupererIndice(){
        indices=indicefacade.getIndices();
        for (int i=0; i< indices.size(); i++) {
            indiceList.add(new SelectItem(indices.get(i).getIndiceId(),indices.get(i).getNomIndice()));
            }
        return indiceList;
    }
    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 éclairé

    Inscrit en
    Décembre 2005
    Messages
    260
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 260
    Par défaut
    j'ai fait comme tu m'a dit et j'ai la même error du coté de la page jsp j'ai:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <h:selectOneMenu id="selectionIndices" value="#{IndiceGUI.IndiceChoisi}">
    				<f:selectItems value=value="#{IndiceGUI.IndiceChoisi}" />
    				</h:selectOneMenu>
    et du coté du bean j'ai:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    private static List<Indice>  Indices;
    	private Integer IndiceChoisi;
    private static ArrayList<SelectItem> IndiceList = new ArrayList<SelectItem>();
    public static List<SelectItem> getRecupererIndice(){
        	Indices=indicefacade.getIndices();
        	for (int i=0; i<Indices.size(); i++) {
    			IndiceList.add(new SelectItem(Indices.get(i).getIndiceId(),Indices.get(i).getNomIndice()));
     
        	}
    		return IndiceList;		
        }
    et du coté de mon config-xml j'ai :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <managed-bean>
      <managed-bean-name>IndiceGUI</managed-bean-name>
      <managed-bean-class>jsf.managedBean.IndiceGUI</managed-bean-class>
      <managed-bean-scope>session</managed-bean-scope>
     </managed-bean>
    et j'ai la même erreur:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    javax.servlet.ServletException: /SelectIndice.jsp(33,4) '#{IndiceGUI.recupererIndice}' Property 'recupererIndice' not found on type jsf.managedBean.IndiceGUI
    	javax.faces.webapp.FacesServlet.service(FacesServlet.java:256)

  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 : 47
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Par défaut
    Ouais mais non. Il faut supprimer les static dans ton bean !
    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 éclairé

    Inscrit en
    Décembre 2005
    Messages
    260
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 260
    Par défaut
    j'ai mis le chemin complet de mon bean :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <h:selectOneMenu id="selectionIndices" value="#{jsf.managedBean.IndiceGUI.IndiceChoisi}">
    				<f:selectItems value="#{jsf.managedBean.IndiceGUI.recupererIndice}" />
    				</h:selectOneMenu>
    maintenant il arrive a reconnaitre ma propriété mais il me sort une autre erreur du type:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    javax.servlet.ServletException: Expected a child component type of UISelectItem/UISelectItems for component type javax.faces.SelectOne(selectionIndices).  Found null.
    	javax.faces.webapp.FacesServlet.service(FacesServlet.java:256)
    j'ai cru que le problème viennent de la fonction getRecupererIndice je l'ai changé en:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     public List<SelectItem> getRecupererIndice(){
     
            List<SelectItem> temp=new ArrayList<SelectItem>();     	
    		temp.add(new SelectItem("alo","alo"));
            return temp;
     
     
        }
    mais il me signale la même erreur

  6. #6
    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 : 47
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Par défaut
    Dans les pages JSF, il ne faut pas mettre le chemin complet de ton bean, mais son identifiant, soit la valeur en bleue ci-dessous dans sa déclaration dans le faces-config.xml :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <managed-bean>
      <managed-bean-name>IndiceGUI</managed-bean-name>
      <managed-bean-class>jsf.managedBean.IndiceGUI</managed-bean-class>
      <managed-bean-scope>session</managed-bean-scope>
     </managed-bean>
    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

  7. #7
    Membre éclairé

    Inscrit en
    Décembre 2005
    Messages
    260
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 260
    Par défaut
    Je l'ai fait mais il me sort l'erreur suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    javax.servlet.ServletException: /SelectIndice.jsp(32,4) '#{IndiceGUI.IndiceChoisi}' Property 'IndiceChoisi' not found on type jsf.managedBean.IndiceGUI
    	javax.faces.webapp.FacesServlet.service(FacesServlet.java:256)

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

Discussions similaires

  1. Remplissage d'un SelectOneMenu
    Par Marc_27 dans le forum JSF
    Réponses: 3
    Dernier message: 26/07/2013, 01h58
  2. Erreur Remplissage d'un range à l'aide d'un tableau
    Par mekap dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 01/10/2010, 12h15
  3. erreur remplissage d'un selectOneMenu
    Par mimaaaa dans le forum JSF
    Réponses: 9
    Dernier message: 04/09/2008, 14h43
  4. 'erreur 35601' lors du remplissage treeview
    Par GAGNON dans le forum Access
    Réponses: 18
    Dernier message: 30/11/2006, 19h51
  5. Réponses: 6
    Dernier message: 07/06/2006, 12h41

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