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 :

Persistance JPA dans une page JSF


Sujet :

JSF Java

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    BTS IRIS
    Inscrit en
    Juin 2013
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Juin 2013
    Messages : 48
    Points : 32
    Points
    32
    Par défaut Persistance JPA dans une page JSF
    Bonjour,

    J'ai une page XHTML contenant un menu déroulant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
      <p:selectOneListbox label="equipe" value="#{equipeBean.listeEquipes}" var="eMarque" required="true">  
                                <f:selectItems value="#{equipeBean.listerEquipe()}" itemValue="#{eMarque.idEquipe}"/>  
                                <p:column>#{eMarque.marque}</p:column>
                            </p:selectOneListbox>
    qui me sert à récupérer la marque d'une équipe pour ensuite associer un cycliste à l'équipe que l'utilisateur a sélectionné.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
        public List<Equipe> listerEquipe() {
            if (listeEquipes == null || listeEquipes.isEmpty()) {
                this.listeEquipes = em.createQuery("SELECT e FROM Equipe e").getResultList();
            }
            return listeEquipes;
        }
    Je récupère donc ma liste que je dépile dans mon menu déroulant. Tout cela fonctionne très bien, il m'affiche bien le résultat voulu mais au moment où j'envoie mon formulaire, il m'indique une erreur "null converter".
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     <p><p:commandButton value="Valider" action="#{cyclisteBean.editerCycliste()}" ajax="false"/></p>
    Le formulaire appelle cette méthode
    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
     public String editerCycliste() {
            try {
                tx.begin();
                em.persist(c);
                c.getEquipe();
                em.persist(e);
                tx.commit();
                this.listeCyclistes = null;
            } catch (Exception e) {
                e.printStackTrace();
            }
            message = new FacesMessage("Un ouveau cycliste a bien été édité");
            FacesContext.getCurrentInstance().addMessage(null, message);
            redirection = "listerCycliste";
            return redirection;
        }
    Quelqu'un saurait-il m'indiquer d'où peut venir le problème ?

    Merci d'avance pour votre aide.

  2. #2
    Nouveau membre du Club
    Homme Profil pro
    BTS IRIS
    Inscrit en
    Juin 2013
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Juin 2013
    Messages : 48
    Points : 32
    Points
    32
    Par défaut
    pour faire un cour résumé je souhaiterais récupérer depuis ma list box, l'equipe pour pouvoir l'associer ha mon cycliste

  3. #3
    Membre régulier
    Homme Profil pro
    Inscrit en
    Février 2009
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2009
    Messages : 37
    Points : 71
    Points
    71
    Par défaut
    Bonjour,

    Il y a déjà une erreur dans le <p:selectOneListbox ...>

    L'attribut value doit pointer vers un objet Equipe or ici on affecte listeEquipes qui semble être un ArrayList.

    Pourrait-on aussi avoir la stack trace complète ?

    Cordialement,

  4. #4
    Membre expérimenté Avatar de Nico02
    Homme Profil pro
    Developpeur Java/JEE
    Inscrit en
    Février 2011
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Developpeur Java/JEE
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2011
    Messages : 728
    Points : 1 622
    Points
    1 622
    Par défaut
    Ton problème vient du fait que tu donnes un objet de type "Equipe" à ton composant.

    En fait tout ça va passer par une interface Converter qui contient 2 méthodes

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    public class MyConverter implements Converter {
    public Object getAsObject(FacesContext context, UIComponent component,
                String value) {
        return null;
    }
     
    public String getAsString(FacesContext context, UIComponent component,
                Object value) {
        return null;
    }
    }
    Une va transformer ton objet en String pour pouvoir être affiché à l'écran. Et l'autre qui va faire l'opération l'inverse.

    Dans ton cas, il arrive par miracle à convertir ce que tu lui donnes en String pour l'afficher. Sauf qu'il ne sait pas faire l'opération inverse pour transformer la String en objet de type "Equipe".

    Donc tu as 2 choix,

    Soit tu utilises des SelectItem qui sont fait pour ç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
     
    private String selectedItem; // +getter +setter
    private List<SelectItem> selectItems; // +getter
     
    public Bean() {
        selectItems = new ArrayList<SelectItem>();
        for (Equipe equipe : listeEquipe ) {
            selectItems.add( new SelectItem(equipe.getMonId(),  equipe.getNom() ));
        }
    }
     
    <h:selectOneListbox value="#{bean.selectedItem}">
        <f:selectItems value="#{bean.selectItems}" />
    </h:selectOneListbox>
    Soit tu crées un Converter perso qui va se charger de faire la transformation.

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    BTS IRIS
    Inscrit en
    Juin 2013
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Juin 2013
    Messages : 48
    Points : 32
    Points
    32
    Par défaut
    Bonjour merci de ta réponse j'ai don adapté mon code comme cela mais sa ne fonctionne toujours pas.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    public void menuEquipe() {
            listeEquipe = em.createQuery("SELECT e FROM Equipe e").getResultList();
            selectItems = new ArrayList<SelectItem>();
            for (Equipe equipe : listeEquipe) {
                selectItems.add(new SelectItem(equipe.getMarque(), equipe.getLibelle()));
            }
        }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <p:selectOneListbox label="equipe" value="#{cyclisteBean.selectedItem}" converter="equipe" var="e"  required="true">  
                                <f:selectItems value="#{cyclisteBean.selectItems}" var="equipe"/>
                                <p:column>
                                    <h:outputText value="#{equipe}"/>
                                </p:column>
                            </p:selectOneListbox>

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    BTS IRIS
    Inscrit en
    Juin 2013
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Juin 2013
    Messages : 48
    Points : 32
    Points
    32
    Par défaut
    A quoi me sert mon selectedItems sachant qu'il a juste des Get et set et a aucun moment je le remplis

  7. #7
    Membre expérimenté Avatar de Nico02
    Homme Profil pro
    Developpeur Java/JEE
    Inscrit en
    Février 2011
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Developpeur Java/JEE
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2011
    Messages : 728
    Points : 1 622
    Points
    1 622
    Par défaut
    Le selectedItem représente la valeur sélectionnée, alors que selectItems est la liste des valeurs possible.

    A quoi me sert mon selectedItems sachant qu'il a juste des Get et set et a aucun moment je le remplis
    Tu as surement zappé le quelques chapitres sur les bean Regarde jsf dans les cours et tutoriels pour apprendre la programmation Java.

    Essais comme ç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
    15
    16
    17
    18
    19
     
     
    private ArrayList<SelectItem> listeItems= new ArrayList<SelectItem>();
     
    ....
     
    public List<SelectItem> menuEquipe() {
            listeEquipe = em.createQuery("SELECT e FROM Equipe e").getResultList();
            listeItems.clear();
            for (Equipe equipe : listeEquipe) {
                listeItems.add(new SelectItem(equipe.getMarque(), equipe.getLibelle()));
            }
     
        return listeItems;
    }
     
    Avec
     
    <f:selectItems value="#{cyclisteBean.menuEquipe}">

  8. #8
    Nouveau membre du Club
    Homme Profil pro
    BTS IRIS
    Inscrit en
    Juin 2013
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Juin 2013
    Messages : 48
    Points : 32
    Points
    32
    Par défaut
    merci encore une fois de ta réponse mais je n'arrive toujours pas a dépiler ma liste dans ma liste box. il ne me propose pas les objets qu'elle compose. Car j'aimerais dépiler ma
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    liste listeEquipe = em.createQuery("SELECT e FROM Equipe e").getResultList();
    dans mon menu afin que par la suite un utilisateur choisisse une equipe sois dans ma ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <p:commandButton value="Valider" action="#{cyclisteBean.editerCycliste(equipe)}" ajax="false"/></p>
    il me prenne en parametre le nom de mon equipe afin que je puisse réaliser ma persistence

  9. #9
    Membre expérimenté Avatar de Nico02
    Homme Profil pro
    Developpeur Java/JEE
    Inscrit en
    Février 2011
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Developpeur Java/JEE
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2011
    Messages : 728
    Points : 1 622
    Points
    1 622
    Par défaut
    Étant donné que tu utilises le même bean pour commandButton et ta liste, tu n'a pas besoin de passer un paramètre à ta fonction. Tu peux récupérer la valeur sélectionnée directement dans ton 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
     
    private String selectedItem;
    private List<SelectItem> listeItems;
     
     
    public String getSelectedItem(){ return selectedItem; }
     
    public void SetSelectedItem( String selectedItem ){ this.selectedItem = selectedItem }
     
    public List<SelectItem> menuEquipe() {
            listeEquipe = em.createQuery("SELECT e FROM Equipe e").getResultList();
            listeItems.clear();
            for (Equipe equipe : listeEquipe) {
                listeItems.add(new SelectItem(equipe.getMarque(), equipe.getLibelle()));
            }
     
        return listeItems;
    }
     
    public void editerCycliste(){
        // Ici tu peux utiliser la valeur de selectedItem directement
    }
     
    <p:selectOneListbox label="equipe" value="#{cyclisteBean.selectedItem}" required="true">  
        <f:selectItems value="#{cyclisteBean.menuEquipe}"/>
          <p:column>
            <h:outputText value="#{equipe}"/>
          </p:column>
    </p:selectOneListbox>
     
    <p:commandButton value="Valider" action="#{cyclisteBean.editerCycliste}" ajax="false"/>

  10. #10
    Nouveau membre du Club
    Homme Profil pro
    BTS IRIS
    Inscrit en
    Juin 2013
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Juin 2013
    Messages : 48
    Points : 32
    Points
    32
    Par défaut
    sachant que je récupère dans mon select item ma liste d'equipe pourquoi dans cette ligne la il ne me propose pas les info de ma liste
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <h:outputText value="#{equipe}"/>
    du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <h:outputText value="#{equipe.marque}"/>
    car le but( c'est quand même d'afficher une liste des marques de l'Equipe

  11. #11
    Nouveau membre du Club
    Homme Profil pro
    BTS IRIS
    Inscrit en
    Juin 2013
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Juin 2013
    Messages : 48
    Points : 32
    Points
    32
    Par défaut
    voici mes page entière
    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
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    /*
     * To change this template, choose Tools | Templates
     * and open the template in the editor.
     */
    package com.tpjsf.controleur;
     
    import com.tpjsf.classes.Cycliste;
    import com.tpjsf.classes.Equipe;
    import java.util.ArrayList;
    import java.util.List;
    import javax.enterprise.context.RequestScoped;
    import javax.faces.application.FacesMessage;
    import javax.faces.context.FacesContext;
    import javax.faces.model.SelectItem;
    import javax.inject.Named;
    import javax.persistence.EntityManager;
    import javax.persistence.EntityManagerFactory;
    import javax.persistence.EntityTransaction;
    import javax.persistence.Persistence;
     
    /**
     *
     * @author Christophe1
     */
    @Named
    @RequestScoped
    public class CyclisteBean {
     
        private List<Cycliste> listeCyclistes;
        private Equipe e = new Equipe();
        private Cycliste c = new Cycliste();
        private EntityManagerFactory emf;
        private EntityManager em;
        private EntityTransaction tx;
        private FacesMessage message;
        private String redirection;
        private String selectedItem;
        private List<SelectItem> listeItems;
        private List<Equipe> listeEquipe;
     
        public CyclisteBean() {
            this.emf = Persistence.createEntityManagerFactory("tpjsfPU");
            this.em = emf.createEntityManager();
            this.tx = em.getTransaction();
        }
     
        public String getSelectedItem() {
            return selectedItem;
        }
     
        public void setSelectedItem(String selectedItem) {
            this.selectedItem = selectedItem;
        }
     
        public List<SelectItem> getListeItems() {
            return listeItems;
        }
     
        public void setListeItems(List<SelectItem> listeItems) {
            this.listeItems = listeItems;
        }
     
        public Equipe getE() {
            return e;
        }
     
        public void setE(Equipe e) {
            this.e = e;
        }
     
        public List<Cycliste> getListeCyclistes() {
            return listeCyclistes;
        }
     
        public void setListeCyclistes(List<Cycliste> listeCyclistes) {
            this.listeCyclistes = listeCyclistes;
        }
     
        public List<Cycliste> getListeCycliste() {
            return listeCyclistes;
        }
     
        public void setListeCycliste(List<Cycliste> listeCycliste) {
            this.listeCyclistes = listeCycliste;
        }
     
        public Cycliste getC() {
            return c;
        }
     
        public void setC(Cycliste c) {
            this.c = c;
        }
     
     
        public List<SelectItem> menuEquipe() {
            listeEquipe = em.createQuery("SELECT e FROM Equipe e").getResultList();
            listeItems.clear();
            for (Equipe equipe : listeEquipe) {
                listeItems.add(new SelectItem(equipe.getMarque(), equipe.getLibelle()));
            }
     
            return listeItems;
        }
     
        public String editerCycliste() {
            try {
                tx.begin();
                c.getEquipe();
                em.persist(c);
                tx.commit();
                this.listeCyclistes = null;
            } catch (Exception e) {
                e.printStackTrace();
            }
            message = new FacesMessage("Un ouveau cycliste a bien été édité");
            FacesContext.getCurrentInstance().addMessage(null, message);
            redirection = "listerCycliste";
            return redirection;
        }
    }

    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
    <?xml version="1.0" encoding="UTF-8"?>
    <!--
    To change this template, choose Tools | Templates
    and open the template in the editor.
    -->
    <!DOCTYPE html>
    <html xmlns="http://www.w3.org/1999/xhtml"
          xmlns:h="http://java.sun.com/jsf/html"
          xmlns:f="http://xmlns.jcp.org/jsf/core"
          xmlns:p="http://primefaces.org/ui">
        <h:head>
            <title>TP JSF</title>
        </h:head>
        <h:body>
            <h:form>
                <p:breadCrumb>  
                    <p:menuitem value="" url="index.jsf" />  
                    <p:menuitem value="Créer une équipe" url="/Equipes/editerEquipe.jsf" />  
                    <p:menuitem value="Afficher les équipes" url="/Equipes/listerEquipe.jsf" />  
                    <p:menuitem value="Editer un Cycliste" url="/Cyclistes/editerCycliste.jsf" />  
                    <p:menuitem value="Afficher les cyclstes" url="/Cyclistes/listerCycliste.jsf" />  
                </p:breadCrumb>
            </h:form>
            <p:panel>
                <h:form>
                    <h4>Editer un Cycliste</h4>
                    <p:growl sticky="3000"/>
                    <div>
                        <div >Création d'une Equipe<span>Les champs notés * sont obligatoires</span></div>
                        <p><label>Nom *</label></p>
                        <p><p:inputText label="nom" id="nom" value="#{cyclisteBean.c.nom}" required="true"/></p>
                        <p><label>Prénom *</label></p>
                        <p><p:inputText label="prenom" id="prenom" value="#{cyclisteBean.c.prenom}"  required="true" /></p>
                        <p><label>Date de naissance *</label></p>
                        <p><p:calendar label="dateDenaissance" id="dateDenaissance" required="true" /></p>
                        <p><label>Choisir l'équipe du cycliste *</label></p>
                        <p>
                            <p:selectOneListbox label="equipe" value="#{cyclisteBean.selectedItem}" required="true">  
                                <f:selectItems value="#{cyclisteBean.menuEquipe}"/>
                                <p:column>
                                    <h:outputText value="#{equipe}"/>
                                </p:column>
                            </p:selectOneListbox>
                        </p>
                        <p><p:commandButton value="Valider" action="#{cyclisteBean.editerCycliste()}" ajax="false"/></p>
                    </div>
                </h:form> 
            </p:panel>
        </h:body>
    </html>

  12. #12
    Membre expérimenté Avatar de Nico02
    Homme Profil pro
    Developpeur Java/JEE
    Inscrit en
    Février 2011
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Developpeur Java/JEE
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2011
    Messages : 728
    Points : 1 622
    Points
    1 622
    Par défaut
    Essais d'enlever
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <p:column>  <h:outputText value="#{equipe}"/> </p:column>

  13. #13
    Nouveau membre du Club
    Homme Profil pro
    BTS IRIS
    Inscrit en
    Juin 2013
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Juin 2013
    Messages : 48
    Points : 32
    Points
    32
    Par défaut
    /Cyclistes/editerCycliste.xhtml @39,80 value="#{cyclisteBean.menuEquipe}": The class 'com.tpjsf.controleur.CyclisteBean$Proxy$_$$_WeldClientProxy' does not have the property 'menuEquipe'.



    petite erreur ^^

  14. #14
    Membre expérimenté Avatar de Nico02
    Homme Profil pro
    Developpeur Java/JEE
    Inscrit en
    Février 2011
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Developpeur Java/JEE
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2011
    Messages : 728
    Points : 1 622
    Points
    1 622
    Par défaut
    Mouai,

    essais de remplacer

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public List<SelectItem> menuEquipe()
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public List<SelectItem> getMenuEquipe()

  15. #15
    Nouveau membre du Club
    Homme Profil pro
    BTS IRIS
    Inscrit en
    Juin 2013
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Juin 2013
    Messages : 48
    Points : 32
    Points
    32
    Par défaut
    il faudrait que je regarde mais il me mais sa maintenant ... This web container has not yet been started merci de ta réponse en tout cas et si jamais tu as une idée

  16. #16
    Nouveau membre du Club
    Homme Profil pro
    BTS IRIS
    Inscrit en
    Juin 2013
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Juin 2013
    Messages : 48
    Points : 32
    Points
    32
    Par défaut
    la console glassFish me donne une erreur fatale comme cela pourriez vous me dire doux cela viens t-il ?
    FATAL: JSF1073 : javax.el.ELException intercepté durant le traitement de RENDER_RESPONSE 6 : UIComponent-ClientId=, Message=/Cyclistes/editerCycliste.xhtml @39,80 value="#{cyclisteBean.menuEquipe}": java.lang.NullPointerException
    FATAL: /Cyclistes/editerCycliste.xhtml @39,80 value="#{cyclisteBean.menuEquipe}": java.lang.NullPointerException

  17. #17
    Nouveau membre du Club
    Homme Profil pro
    BTS IRIS
    Inscrit en
    Juin 2013
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Juin 2013
    Messages : 48
    Points : 32
    Points
    32
    Par défaut
    J'ai réussit a résoudre mon problème:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <p:selectOneMenu label="equipe"  required="true" value="#{cyclisteBean.c.equipe.idEquipe}"> 
                                <f:selectItem itemValue="" itemLabel="Veuillez choisir une équipe..."/>
                                <f:selectItems value="#{equipeBean.listerEquipe()}" itemValue="#{e.idEquipe}" itemLabel="#{e.libelle} - #{e.marque}" var="e"/>                          
                            </p:selectOneMenu>
    mon select itme va donc me permettre des récupérer ma liste d'équipe dans ma BDD en appelant ma methode listerEquipe()
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    public List<Equipe> listerEquipe() {
            if (listeEquipes == null || listeEquipes.isEmpty()) {
                this.listeEquipes = em.createQuery("SELECT e FROM Equipe e").getResultList();
            }
            return listeEquipes;
        }
    à ce stade il récupérer ma liste comme une adresse c'est a dire equipe@125789(exemple d'adresse) mais cela est encore au stade d'objet c'est pour cela que je lui indique
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <p:selectOneMenu label="equipe"  required="true" value="#{cyclisteBean.c.equipe.idEquipe}">
    pour qu'il me donne l'Equipe par rapport a son id voila voila j'espère que tous sa n'aura pas été trop confus et que sa servira à d'autre personne et je précise que tous ce qui a de marqué au-dessu est peutetre juste mais pas dans mon cas mais merci quand même pour tes réponse nico qui m'ont servis a me mettre sur la voie

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

Discussions similaires

  1. Integrer un taglib dans une page jsf
    Par Sun03 dans le forum JSF
    Réponses: 23
    Dernier message: 28/04/2008, 11h23
  2. Réponses: 3
    Dernier message: 19/04/2008, 17h32
  3. JfreeChart dans une page jsf
    Par hicham.gi dans le forum JSF
    Réponses: 4
    Dernier message: 10/04/2008, 16h02
  4. "Affichage conditionnel" dans une page JSF
    Par Niniz dans le forum JSF
    Réponses: 2
    Dernier message: 19/07/2007, 12h14
  5. Réponses: 6
    Dernier message: 02/04/2007, 19h13

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