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 averti
    Inscrit en
    Janvier 2008
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 32
    Par défaut erreur remplissage d'un selectOneMenu
    Bonjour,
    j'essaie de remplir une liste déroulante à partir d'une table Mysql,
    j'ai correctement cofiguré hibernate
    et voici le code 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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    public class lecture_bdd {
     
     
     
     private List<SelectItem> paletteList ;
     
      private SelectItem currentPalette;
     
     
      public lecture_bdd()  {
     
      }
     
        public SelectItem getCurrentPalette() {
            return currentPalette;
        }
     
     
      public void setCurrentePalette (SelectItem item) {
         currentPalette = item;
      }
     
     
        public List<SelectItem> getPaletteList() {
     
            List<SelectItem> unelist = new ArrayList <SelectItem>();
     
           Session session = InitSessionFactory.getInstance().getCurrentSession();
     
    	org.hibernate.Query q = session.createQuery("from palette_mobile");
     
    	Iterator it = q.list().iterator();
     
    	while (it.hasNext()){
     
    	Palette_mobile elementCourant = (Palette_mobile) it.next();
     
    	unelist.add(new SelectItem(elementCourant.getId_palette_m(), elementCourant.getSSCC_palette()));
     
          }
            return unelist;
        }
     
     
     
      public void setPaletteList(List<SelectItem> _paletteList) {
     
         this.paletteList = _paletteList;
      }  
     
    }
    JSF:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     <h:selectOneMenu id="mesPalettes" value="#{lecture.currentPalette}" >
                             <f:selectItems value="#{lecture.paletteList}" />
                        </h:selectOneMenu>
    Faces-config:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     </managed-bean>
           <managed-bean>
            <managed-bean-name>lecture</managed-bean-name>
            <managed-bean-class>reception.lecture_bdd</managed-bean-class>
            <managed-bean-scope>session</managed-bean-scope>
        </managed-bean>
    l'execution sans erreur: voilà ce que j'ai comme resultat
    <select id="mesPalettes" name="mesPalettes"

    je sias que l'erreur est au niveau du bean getpaletteList? mais où, aucune idée !!!

  2. #2
    Membre Expert Avatar de guigui5931
    Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2006
    Messages
    1 667
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 667
    Par défaut
    Tu n'as aucun message d'erreur? Même dans la trace? Par contre il me semble que tu attribut currentPalette devrait être une String. Il prendra la valeur de l'id du selectItem choisit dans la liste.

  3. #3
    Membre averti
    Inscrit en
    Janvier 2008
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 32
    Par défaut
    j'ai changé l'attribut en string et c'est toujours la meme erreur.
    qd je fais un chargement statique comme suit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    public List<SelectItem> getPaletteList() {
           List<SelectItem> unelist = new ArrayList <SelectItem>();
            unelist.add(new SelectItem("alo","alo"));
    return unelist;
    }
    ca marche, ca maffiche une liste avec alo
    donc le probleme est dans ma requete, mais je ne vois pas ou est l'erreur??

  4. #4
    Membre averti
    Inscrit en
    Août 2007
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 30
    Par défaut
    Citation Envoyé par mimaaaa Voir le message
    donc le problème est dans ma requête, mais je ne vois pas ou est l'erreur??
    Salam,
    je pense que le problème réside dans le faite que le nom de la classe que tu utilise dans ta requête HQL commence par une minuscule:

    alors que lorsque tu rempli ta liste tu utilise une majuscule?!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Palette_mobile elementCourant = (Palette_mobile) it.next();
    vérifie stp si c'est la source de ton problème, d'ailleurs ça m'étonnerait que hibernate ne signale pas ce type d'erreur(hibernate.QueryException). En tout cas essaie d'abord de modifier ta requête HQL, et on verra après ce que ça va donner.

  5. #5
    Membre averti
    Inscrit en
    Janvier 2008
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 32
    Par défaut
    Salam,
    Merci pour ta réponse, ça change rien en modifiant la lettre en majuscule.
    Aparement le bout de code pour lister les palettes n'est pas intérprété.
    aurais-je un probleme de configuration?

    Voici mon arborescence:

    Web Pages
    -->WEB-INF
    --faces-config.xml
    --web.xml
    ......
    Source Packages
    --><default-package>
    --hibernate.cfg.xml
    --log4j.properties
    -->hibernate
    --InitSessionFactory.java
    -->reception
    --Palette_mobile.java
    --Palette_mobile.hbm.xml
    --lecture_bdd.java (mon Bean)
    .....

  6. #6
    Membre confirmé Avatar de jdev23
    Profil pro
    Étudiant
    Inscrit en
    Août 2006
    Messages
    99
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2006
    Messages : 99
    Par défaut
    Bonjour,
    essaye de remplacer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    org.hibernate.Query q = session.createQuery("from palette_mobile");
    par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    org.hibernate.Query q = session.createQuery("from paletteMobile");
    ou paletteMobile le nom de la table dans le fichier de mapping

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 zerocoolyoussef dans le forum JSF
    Réponses: 10
    Dernier message: 20/02/2009, 16h22
  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