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 :

SelectOneMenu :population à partir d'une Base


Sujet :

JSF Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Femme Profil pro
    Chercheur en informatique
    Inscrit en
    Décembre 2012
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Australie

    Informations professionnelles :
    Activité : Chercheur en informatique

    Informations forums :
    Inscription : Décembre 2012
    Messages : 48
    Par défaut SelectOneMenu :population à partir d'une Base
    Bonjour
    Je suis entrain de developper une application qui doit interagir avec une base de données.
    Le problème est ce que p:SelectOneMenu ne récupère pas les valeurs depuis la base.
    Je vous montre mon code
    Page JSF:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     
     
      <p:selectOneMenu onchange="submit()">
         <f:selectItems value="#{startingTestCtrl.model.listItemsMachine}" var="item" itemValue="#{item}" itemLabel="#{item}" />
        </p:selectOneMenu>
    Au niveau de mon MangedBean:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    @PostConstruct
        public void initCtrl() {
            //initialisation de selectOneMenu : pour la liste des machines 
            getModel().setListMachine(getTestsServices().ListMachines());
             List<SelectItem> listItems=new ArrayList<>();
     
            for (Machine m : getModel().getListMachine()) {
                listItems.add(new SelectItem(m, m.getName()));
            }
            getModel().setListItemsMachine(listItems);
    page TestServices.java:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    public List<Machine> ListMachines(){
    //tm=une instance de testModule 
    return    tm.selectAllMachine();
       }
    TestModule.java
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     public List<Machine> selectAllMachine() {
      return em.createQuery("select m from Machine m").getResultList();
        }
    Merci pour vos aides

  2. #2
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2015
    Messages
    87
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2015
    Messages : 87
    Par défaut
    Citation Envoyé par ibtiag Voir le message
    Bonjour
    Je suis entrain de developper une application qui doit interagir avec une base de données.
    Le problème est ce que p:SelectOneMenu ne récupère pas les valeurs depuis la base.
    Je vous montre mon code
    Page JSF:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     
     
      <p:selectOneMenu onchange="submit()">
         <f:selectItems value="#{startingTestCtrl.model.listItemsMachine}" var="item" itemValue="#{item}" itemLabel="#{item}" />
        </p:selectOneMenu>
    Au niveau de mon MangedBean:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    @PostConstruct
        public void initCtrl() {
            //initialisation de selectOneMenu : pour la liste des machines 
            getModel().setListMachine(getTestsServices().ListMachines());
             List<SelectItem> listItems=new ArrayList<>();
     
            for (Machine m : getModel().getListMachine()) {
                listItems.add(new SelectItem(m, m.getName()));
            }
            getModel().setListItemsMachine(listItems);
    page TestServices.java:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    public List<Machine> ListMachines(){
    //tm=une instance de testModule 
    return    tm.selectAllMachine();
       }
    TestModule.java
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     public List<Machine> selectAllMachine() {
      return em.createQuery("select m from Machine m").getResultList();
        }
    Merci pour vos aides
    si j'ai bien compris ton problème est que ton liste déroulant s’affiche vide . c'est ça ??

  3. #3
    Membre confirmé
    Femme Profil pro
    Chercheur en informatique
    Inscrit en
    Décembre 2012
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Australie

    Informations professionnelles :
    Activité : Chercheur en informatique

    Informations forums :
    Inscription : Décembre 2012
    Messages : 48
    Par défaut
    Oui effectivement

  4. #4
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2015
    Messages
    87
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2015
    Messages : 87
    Par défaut
    tout d'abord essayer de déclarer ton liste avant @PostConstruct

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    private List <Machine> ListMachines ;
    et n'oubliez pas les getter et les setter et dans votre methode init () :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
      ListMachines= TestModule.selectAllMachine();
    et dans votre page XHTML ( le plus important parce que je vois que le problème devient d'ici )

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <h:outputText value="ListMachine" />
    							<p:selectOneMenu value="#{startingTestCtrl.model.ListMachines}"  >
    								<f:selectItem itemLabel="select one..." itemValue="" />
    								<f:selectItems value="#startingTestCtrl.ListMachines}" var="cat" itemValue="#{cat}" itemLabel="#{cat.ip_address}"/>
    							</p:selectOneMenu>

  5. #5
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2015
    Messages
    87
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2015
    Messages : 87
    Par défaut
    ahhh attend je vois que vous avez deux tables en relation 1..*
    et tu veux afficher la listes des machine dans la page Model

    si c'est le cas vous êtes dans le mauvais chemin et tu dois changer la méthode complètement

  6. #6
    Membre Expert Avatar de jeffray03
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2008
    Messages
    1 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 501
    Par défaut
    salut,
    est ce que ceci te donne un nombre superieur a zero:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    getTestsServices().ListMachines().list();
    dans ton MangedBean?
    2. quel scope as-tu pour tonMangedBean?

    Eric

  7. #7
    Membre confirmé
    Femme Profil pro
    Chercheur en informatique
    Inscrit en
    Décembre 2012
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Australie

    Informations professionnelles :
    Activité : Chercheur en informatique

    Informations forums :
    Inscription : Décembre 2012
    Messages : 48
    Par défaut
    Merci Monta_amri pour votre réponse.
    J'ai essayé ce que vous avez recommandé mais malheureusement ça marche pas.
    jeffray03 : oui , c'est strictement supérieur à zero.
    Mon scope est "Session"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    @ManagedBean
    @SessionScoped
    public class startingTestCtrl implements Serializable{
     private static final long serialVersionUID = 1L;

Discussions similaires

  1. remplir une liste deroulante (selectOneMenu) à partir d'une base de données
    Par soniyo dans le forum Développement Web en Java
    Réponses: 0
    Dernier message: 04/06/2012, 16h51
  2. réplication à partir d'une base de données heterogène
    Par elbennaoui dans le forum Réplications
    Réponses: 1
    Dernier message: 16/11/2005, 16h05
  3. afficher une image à partir d'une base de données access
    Par zidenne dans le forum Bases de données
    Réponses: 2
    Dernier message: 08/11/2005, 11h41
  4. envoi automatisé de mails à partir d'une base postgresql
    Par youn608 dans le forum PostgreSQL
    Réponses: 11
    Dernier message: 15/02/2005, 09h06

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