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 :

JSF Erreur à l'exécution car problème avec le managed bean


Sujet :

JSF Java

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2013
    Messages : 6
    Points : 8
    Points
    8
    Par défaut JSF Erreur à l'exécution car problème avec le managed bean
    Bonjour tout le monde.
    Je développe un projet sur Netbeans 8 et je me confronte à des erreurs que je ne comprend pas.
    Je tiens tout d'abord à préciser que c'est mon premier projet java ee car les autres que j'ai fait étaient déjà structuré et il fallait juste faire du copier/coller.

    Comme je le disais j'ai une base de donnée relationnelle qui stocke les informations des étudiants. Dans cette base de donnée j'ai une table etudiant dont la classe entité qui la représente est la suivante:

    Etudiant.java
    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
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    250
    251
    252
    253
    254
    255
    256
    257
    258
    259
    260
    261
    262
    263
    264
    265
    266
    267
    268
    269
    270
    271
    272
    273
    274
    275
    276
    277
    278
    279
    280
    281
    282
    283
    284
    285
    286
    287
    288
    289
    290
    291
    292
    293
    294
    295
    296
    297
    298
    299
    300
    301
    302
    303
    304
    305
    306
    307
    308
    309
    310
    311
    312
    313
    314
    315
    316
    317
    318
    319
    320
    321
    322
     
    /*
     * To change this license header, choose License Headers in Project Properties.
     * To change this template file, choose Tools | Templates
     * and open the template in the editor.
     */
     
    package enitities;
     
    import java.io.Serializable;
    import java.util.Collection;
    import java.util.Date;
    import javax.persistence.Basic;
    import javax.persistence.CascadeType;
    import javax.persistence.Column;
    import javax.persistence.Entity;
    import javax.persistence.GeneratedValue;
    import javax.persistence.GenerationType;
    import javax.persistence.Id;
    import javax.persistence.JoinColumn;
    import javax.persistence.ManyToOne;
    import javax.persistence.NamedQueries;
    import javax.persistence.NamedQuery;
    import javax.persistence.OneToMany;
    import javax.persistence.Table;
    import javax.persistence.Temporal;
    import javax.persistence.TemporalType;
    import javax.validation.constraints.NotNull;
    import javax.validation.constraints.Size;
    import javax.xml.bind.annotation.XmlRootElement;
    import javax.xml.bind.annotation.XmlTransient;
     
    /**
     *
     * @author La Nokims
     */
    @Entity
    @Table(name = "etudiant")
    @XmlRootElement
    @NamedQueries({
        @NamedQuery(name = "Etudiant.findAll", query = "SELECT e FROM Etudiant e"),
        @NamedQuery(name = "Etudiant.findByIdEtudiant", query = "SELECT e FROM Etudiant e WHERE e.idEtudiant = :idEtudiant"),
        @NamedQuery(name = "Etudiant.findByNom", query = "SELECT e FROM Etudiant e WHERE e.nom = :nom"),
        @NamedQuery(name = "Etudiant.findByPrenom", query = "SELECT e FROM Etudiant e WHERE e.prenom = :prenom"),
        @NamedQuery(name = "Etudiant.findByDateNaiss", query = "SELECT e FROM Etudiant e WHERE e.dateNaiss = :dateNaiss"),
        @NamedQuery(name = "Etudiant.findByNumCNI", query = "SELECT e FROM Etudiant e WHERE e.numCNI = :numCNI"),
        @NamedQuery(name = "Etudiant.findByDateDelivCNI", query = "SELECT e FROM Etudiant e WHERE e.dateDelivCNI = :dateDelivCNI"),
        @NamedQuery(name = "Etudiant.findByAdrMail", query = "SELECT e FROM Etudiant e WHERE e.adrMail = :adrMail"),
        @NamedQuery(name = "Etudiant.findByProfession", query = "SELECT e FROM Etudiant e WHERE e.profession = :profession"),
        @NamedQuery(name = "Etudiant.findBySociete", query = "SELECT e FROM Etudiant e WHERE e.societe = :societe"),
        @NamedQuery(name = "Etudiant.findByNumTel", query = "SELECT e FROM Etudiant e WHERE e.numTel = :numTel"),
        @NamedQuery(name = "Etudiant.findByNumFiche", query = "SELECT e FROM Etudiant e WHERE e.numFiche = :numFiche"),
        @NamedQuery(name = "Etudiant.findByMontantAttrib", query = "SELECT e FROM Etudiant e WHERE e.montantAttrib = :montantAttrib"),
        @NamedQuery(name = "Etudiant.findByDepotDossier", query = "SELECT e FROM Etudiant e WHERE e.depotDossier = :depotDossier"),
        @NamedQuery(name = "Etudiant.findByRetraitPermis", query = "SELECT e FROM Etudiant e WHERE e.retraitPermis = :retraitPermis")})
    public class Etudiant implements Serializable {
        private static final long serialVersionUID = 1L;
        @Id
        @GeneratedValue(strategy = GenerationType.IDENTITY)
        @Basic(optional = false)
        @Column(name = "idEtudiant")
        private Integer idEtudiant;
        @Basic(optional = false)
        @NotNull
        @Size(min = 1, max = 45)
        @Column(name = "nom")
        private String nom;
        @Basic(optional = false)
        @NotNull
        @Size(min = 1, max = 45)
        @Column(name = "prenom")
        private String prenom;
        @Basic(optional = false)
        @NotNull
        @Column(name = "dateNaiss")
        @Temporal(TemporalType.DATE)
        private Date dateNaiss;
        @Basic(optional = false)
        @NotNull
        @Size(min = 1, max = 20)
        @Column(name = "numCNI")
        private String numCNI;
        @Basic(optional = false)
        @NotNull
        @Column(name = "dateDelivCNI")
        @Temporal(TemporalType.DATE)
        private Date dateDelivCNI;
        @Size(max = 45)
        @Column(name = "adrMail")
        private String adrMail;
        @Size(max = 45)
        @Column(name = "profession")
        private String profession;
        @Size(max = 45)
        @Column(name = "societe")
        private String societe;
        @Basic(optional = false)
        @NotNull
        @Size(min = 1, max = 45)
        @Column(name = "numTel")
        private String numTel;
        @Basic(optional = false)
        @NotNull
        @Size(min = 1, max = 45)
        @Column(name = "numFiche")
        private String numFiche;
        @Basic(optional = false)
        @NotNull
        @Column(name = "montantAttrib")
        private int montantAttrib;
        @Basic(optional = false)
        @NotNull
        @Column(name = "depotDossier")
        private boolean depotDossier;
        @Basic(optional = false)
        @NotNull
        @Column(name = "retraitPermis")
        private boolean retraitPermis;
        @OneToMany(cascade = CascadeType.ALL, mappedBy = "etudiantidEtudiant")
        private Collection<Paiement> paiementCollection;
        @JoinColumn(name = "agence_idAgence", referencedColumnName = "idAgence")
        @ManyToOne(optional = false)
        private Agence agenceidAgence;
        @JoinColumn(name = "formation_idFormation", referencedColumnName = "idFormation")
        @ManyToOne(optional = false)
        private Formation formationidFormation;
        @JoinColumn(name = "sessionexam_idSessionExam", referencedColumnName = "idSessionExam")
        @ManyToOne(optional = false)
        private Sessionexam sessionexamidSessionExam;
     
        public Etudiant() {
        }
     
        public Etudiant(Integer idEtudiant) {
            this.idEtudiant = idEtudiant;
        }
     
        public Etudiant(Integer idEtudiant, String nom, String prenom, Date dateNaiss, String numCNI, Date dateDelivCNI, String numTel, String numFiche, int montantAttrib, boolean depotDossier, boolean retraitPermis) {
            this.idEtudiant = idEtudiant;
            this.nom = nom;
            this.prenom = prenom;
            this.dateNaiss = dateNaiss;
            this.numCNI = numCNI;
            this.dateDelivCNI = dateDelivCNI;
            this.numTel = numTel;
            this.numFiche = numFiche;
            this.montantAttrib = montantAttrib;
            this.depotDossier = depotDossier;
            this.retraitPermis = retraitPermis;
        }
     
        public Integer getIdEtudiant() {
            return idEtudiant;
        }
     
        public void setIdEtudiant(Integer idEtudiant) {
            this.idEtudiant = idEtudiant;
        }
     
        public String getNom() {
            return nom;
        }
     
        public void setNom(String nom) {
            this.nom = nom;
        }
     
        public String getPrenom() {
            return prenom;
        }
     
        public void setPrenom(String prenom) {
            this.prenom = prenom;
        }
     
        public Date getDateNaiss() {
            return dateNaiss;
        }
     
        public void setDateNaiss(Date dateNaiss) {
            this.dateNaiss = dateNaiss;
        }
     
        public String getNumCNI() {
            return numCNI;
        }
     
        public void setNumCNI(String numCNI) {
            this.numCNI = numCNI;
        }
     
        public Date getDateDelivCNI() {
            return dateDelivCNI;
        }
     
        public void setDateDelivCNI(Date dateDelivCNI) {
            this.dateDelivCNI = dateDelivCNI;
        }
     
        public String getAdrMail() {
            return adrMail;
        }
     
        public void setAdrMail(String adrMail) {
            this.adrMail = adrMail;
        }
     
        public String getProfession() {
            return profession;
        }
     
        public void setProfession(String profession) {
            this.profession = profession;
        }
     
        public String getSociete() {
            return societe;
        }
     
        public void setSociete(String societe) {
            this.societe = societe;
        }
     
        public String getNumTel() {
            return numTel;
        }
     
        public void setNumTel(String numTel) {
            this.numTel = numTel;
        }
     
        public String getNumFiche() {
            return numFiche;
        }
     
        public void setNumFiche(String numFiche) {
            this.numFiche = numFiche;
        }
     
        public int getMontantAttrib() {
            return montantAttrib;
        }
     
        public void setMontantAttrib(int montantAttrib) {
            this.montantAttrib = montantAttrib;
        }
     
        public boolean getDepotDossier() {
            return depotDossier;
        }
     
        public void setDepotDossier(boolean depotDossier) {
            this.depotDossier = depotDossier;
        }
     
        public boolean getRetraitPermis() {
            return retraitPermis;
        }
     
        public void setRetraitPermis(boolean retraitPermis) {
            this.retraitPermis = retraitPermis;
        }
     
        @XmlTransient
        public Collection<Paiement> getPaiementCollection() {
            return paiementCollection;
        }
     
        public void setPaiementCollection(Collection<Paiement> paiementCollection) {
            this.paiementCollection = paiementCollection;
        }
     
        public Agence getAgenceidAgence() {
            return agenceidAgence;
        }
     
        public void setAgenceidAgence(Agence agenceidAgence) {
            this.agenceidAgence = agenceidAgence;
        }
     
        public Formation getFormationidFormation() {
            return formationidFormation;
        }
     
        public void setFormationidFormation(Formation formationidFormation) {
            this.formationidFormation = formationidFormation;
        }
     
        public Sessionexam getSessionexamidSessionExam() {
            return sessionexamidSessionExam;
        }
     
        public void setSessionexamidSessionExam(Sessionexam sessionexamidSessionExam) {
            this.sessionexamidSessionExam = sessionexamidSessionExam;
        }
     
        @Override
        public int hashCode() {
            int hash = 0;
            hash += (idEtudiant != null ? idEtudiant.hashCode() : 0);
            return hash;
        }
     
        @Override
        public boolean equals(Object object) {
            // TODO: Warning - this method won't work in the case the id fields are not set
            if (!(object instanceof Etudiant)) {
                return false;
            }
            Etudiant other = (Etudiant) object;
            if ((this.idEtudiant == null && other.idEtudiant != null) || (this.idEtudiant != null && !this.idEtudiant.equals(other.idEtudiant))) {
                return false;
            }
            return true;
        }
     
        @Override
        public String toString() {
            return "enitities.Etudiant[ idEtudiant=" + idEtudiant + " ]";
        }
     
    }
    J'ai donc aussi créé un session bean stateless EtudiantManager:
    EtudiantManager.java
    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
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    /*
     * To change this license header, choose License Headers in Project Properties.
     * To change this template file, choose Tools | Templates
     * and open the template in the editor.
     */
     
    package session;
     
    import enitities.Agence;
    import enitities.Etudiant;
    import enitities.Formation;
    import enitities.Sessionexam;
    import java.util.Date;
    import java.util.List;
    import javax.ejb.LocalBean;
    import javax.ejb.Stateless;
    import javax.persistence.EntityManager;
    import javax.persistence.PersistenceContext;
    import javax.persistence.Query;
     
    /**
     *
     * @author La Nokims
     */
    @Stateless
    @LocalBean
    public class EtudiantManager {
        @PersistenceContext(unitName = "EtudiantAutoEcole-ejbPU")
        private EntityManager em;
     
        /**
         * Cette méthode pertmet d'ajouter un étudiant dont les caractéristiques
         * sont les suivants
         * 
         * @param nom: le nom de l'étudiant
         * @param prenom: le prénom de l'étudiant
         * @param dateNaiss: la date de naissance de l'étudiant
         * @param numCNI: le numéro de la carte d'identité de l'étudiant
         * @param dateDelivCNI: la date de délivrance de la carte d'identité
         * @param numTel: le numéro de téléphone de l'étudiant
         * @param numFiche: le numéro de la fiche de l'étudiant
         * @param montantAttrib: le montant de paiement attribué à l'étudiant
         * @param depotDossier: le dépot ou non du dossier d'exament par l'étudiant
         * @param retraitPermis: le retrait ou non du permis de conduire par l'étudiant
         */
        public void addEtudiant(String nom, String prenom, Date dateNaiss, String numCNI, Date dateDelivCNI, String numTel, String numFiche, int montantAttrib, boolean depotDossier, boolean retraitPermis){
     
           Etudiant etudiant = new Etudiant();
     
           etudiant.setNom(nom);
           etudiant.setPrenom(prenom);
           etudiant.setDateNaiss(dateNaiss);
           etudiant.setNumCNI(numCNI);
           etudiant.setDateDelivCNI(dateDelivCNI);
           etudiant.setNumTel(numTel);
           etudiant.setNumFiche(numFiche);
           etudiant.setMontantAttrib(montantAttrib);
           etudiant.setDepotDossier(depotDossier);
           etudiant.setRetraitPermis(retraitPermis);
     
           em.persist(etudiant);
       }
     
        public void addEtudiant(Etudiant etudiant){
            em.persist(etudiant);
        }
     
       public List<Etudiant> listEtudiant(){
           Query query = em.createNamedQuery("findAll");
           return query.getResultList();
       }
     
       public List<Etudiant> findByNomEtudiant(){
           Query query = em.createNamedQuery("findByNom");
           return query.getResultList();
       }
     
       public List<Etudiant> findByPrenomEtudiant(){
           Query query = em.createNamedQuery("findByPrenom");
           return query.getResultList();
       }
     
       public void removeEtudiant(Integer idEtudiant){
           Query query = em.createNamedQuery("SELECT e FROM Etudiant e WHERE e.idEtudiant = idEtudiant");
           query.getSingleResult();
           em.remove(query);
       }
     
       public List<Etudiant> depotDossierEtudiant(){
           Query query = em.createNamedQuery("findByDepotDossier");
           return query.getResultList();
       }
     
        public Etudiant updateNumTelEtudiant(String numTel, Etudiant etudiant) {
            etudiant.setNumTel(numTel);
            em.merge(etudiant);
            return etudiant;
        }
     
        public Etudiant updateDepotDossier(Boolean depotDossier, Etudiant etudiant) {
            etudiant.setDepotDossier(true);
            em.merge(etudiant);
            return etudiant;
        }
     
        public Etudiant updateRetraitPermis(Boolean retraitPermis, Etudiant etudiant) {
            etudiant.setRetraitPermis(true);
            em.merge(etudiant);
            return etudiant;
        }
     
        public Etudiant updateSociete(String societe, Etudiant etudiant){
            etudiant.setSociete(societe);
            em.merge(etudiant);
            return etudiant;
        }
     
        public Etudiant updateSessionExam(Sessionexam sessionexamidSessionExam, Etudiant etudiant){
            etudiant.setSessionexamidSessionExam(sessionexamidSessionExam);
            em.merge(etudiant);
            return etudiant;
        }
     
        public Etudiant updateFormation(Formation formationidFormation, Etudiant etudiant){
            etudiant.setFormationidFormation(formationidFormation);
            em.merge(etudiant);
            return etudiant;
        }
     
        public Etudiant updateAgence(Agence agenceidAgence, Etudiant etudiant){
            etudiant.setAgenceidAgence(agenceidAgence);
            em.merge(etudiant);
            return etudiant;
        }  
     
        public void persist(Object object){
            em.persist(object);
        }
    }
    Comme modèle, j'utilise un managed bean EtudiantMbean:
    EtudiantMbean.java
    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
    /*
     * To change this license header, choose License Headers in Project Properties.
     * To change this template file, choose Tools | Templates
     * and open the template in the editor.
     */
     
    package managedbeans;
     
    import enitities.Etudiant;
    import java.io.Serializable;
    import javax.ejb.EJB;
    import javax.faces.bean.ManagedBean;
    import javax.faces.bean.ManagedProperty;
    import javax.faces.bean.SessionScoped;
    import session.EtudiantManager;
     
    /**
     *
     * @author La Nokims
     */
    @ManagedBean(name="etudiantMbean")
    @SessionScoped
    public class EtudiantMbean implements Serializable{
     
        private Etudiant etudiant;
     
        @EJB
        private EtudiantManager etudiantManager;
     
        /**
         * Creates a new instance of EtudiantMbean
         */
        public EtudiantMbean() {
        }
     
        public Etudiant setEtudiant(){
            etudiantManager.addEtudiant(etudiant);
            return null;
        }
    }
    Et pour la vue j'ai un jsf EtudiantSaisie qui contient un formulaire qui permet de saisir les éléments d'un étudiant:
    EtudiantSaisie.xhtml
    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
    <?xml version='1.0' encoding='UTF-8' ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml"
          xmlns:h="http://xmlns.jcp.org/jsf/html"
          xmlns:f="http://xmlns.jcp.org/jsf/core">
        <h:head>
            <title>Saisie d'un étudiant</title>
        </h:head>
        <h:body>
            Saisie d'un étudiant
     
            <f:view>
     
     
                <h:form>
                    <h1><h:outputText value="Create/Edit"/></h1>
                    <h:panelGrid columns="2">
                        <h:outputLabel value="IdEtudiant:" for="idEtudiant" />
                        <h:inputText id="idEtudiant" value="#{etudiantMbean.etudiant.idEtudiant}" title="IdEtudiant" required="true" requiredMessage="The IdEtudiant field is required."/>
                        <h:outputLabel value="Nom:" for="nom" />
                        <h:inputText id="nom" value="#{etudiantMbean.etudiant.nom}" title="Nom" required="true" requiredMessage="The Nom field is required."/>
                        <h:outputLabel value="Prenom:" for="prenom" />
                        <h:inputText id="prenom" value="#{etudiantMbean.etudiant.prenom}" title="Prenom" required="true" requiredMessage="The Prenom field is required."/>
                        <h:outputLabel value="DateNaiss:" for="dateNaiss" />
                        <h:inputText id="dateNaiss" value="#{etudiantMbean.etudiant.dateNaiss}" title="DateNaiss" required="true" requiredMessage="The DateNaiss field is required.">
                            <f:convertDateTime pattern="MM/dd/yyyy" />
                        </h:inputText>
                        <h:outputLabel value="NumCNI:" for="numCNI" />
                        <h:inputText id="numCNI" value="#{etudiantMbean.etudiant.numCNI}" title="NumCNI" required="true" requiredMessage="The NumCNI field is required."/>
                        <h:outputLabel value="DateDelivCNI:" for="dateDelivCNI" />
                        <h:inputText id="dateDelivCNI" value="#{etudiantMbean.etudiant.dateDelivCNI}" title="DateDelivCNI" required="true" requiredMessage="The DateDelivCNI field is required.">
                            <f:convertDateTime pattern="MM/dd/yyyy" />
                        </h:inputText>
                        <h:outputLabel value="AdrMail:" for="adrMail" />
                        <h:inputText id="adrMail" value="#{etudiantMbean.etudiant.adrMail}" title="AdrMail" />
                        <h:outputLabel value="Profession:" for="profession" />
                        <h:inputText id="profession" value="#{etudiantMbean.etudiant.profession}" title="Profession" />
                        <h:outputLabel value="Societe:" for="societe" />
                        <h:inputText id="societe" value="#{etudiantMbean.etudiant.societe}" title="Societe" />
                        <h:outputLabel value="NumTel:" for="numTel" />
                        <h:inputText id="numTel" value="#{etudiantMbean.etudiant.numTel}" title="NumTel" required="true" requiredMessage="The NumTel field is required."/>
                        <h:outputLabel value="NumFiche:" for="numFiche" />
                        <h:inputText id="numFiche" value="#{etudiantMbean.etudiant.numFiche}" title="NumFiche" required="true" requiredMessage="The NumFiche field is required."/>
                        <h:outputLabel value="MontantAttrib:" for="montantAttrib" />
                        <h:inputText id="montantAttrib" value="#{etudiantMbean.etudiant.montantAttrib}" title="MontantAttrib" required="true" requiredMessage="The MontantAttrib field is required."/>
                        <h:outputLabel value="DepotDossier:" for="depotDossier" />
                        <h:inputText id="depotDossier" value="#{etudiantMbean.etudiant.depotDossier}" title="DepotDossier" required="true" requiredMessage="The DepotDossier field is required."/>
                        <h:outputLabel value="RetraitPermis:" for="retraitPermis" />
                        <h:inputText id="retraitPermis" value="#{etudiantMbean.etudiant.retraitPermis}" title="RetraitPermis" required="true" requiredMessage="The RetraitPermis field is required."/>
                        <h:outputLabel value="AgenceidAgence:" for="agenceidAgence" />
                        <h:selectOneMenu id="agenceidAgence" value="#{etudiantMbean.etudiant.agenceidAgence}" title="AgenceidAgence" required="true" requiredMessage="The AgenceidAgence field is required.">
                            <!-- TODO: update below reference to list of available items-->
                            <f:selectItems value="#{fixme}"/>
                        </h:selectOneMenu>
                        <h:outputLabel value="FormationidFormation:" for="formationidFormation" />
                        <h:selectOneMenu id="formationidFormation" value="#{etudiantMbean.etudiant.formationidFormation}" title="FormationidFormation" required="true" requiredMessage="The FormationidFormation field is required.">
                            <!-- TODO: update below reference to list of available items-->
                            <f:selectItems value="#{fixme}"/>
                        </h:selectOneMenu>
                        <h:outputLabel value="SessionexamidSessionExam:" for="sessionexamidSessionExam" />
                        <h:selectOneMenu id="sessionexamidSessionExam" value="#{etudiantMbean.etudiant.sessionexamidSessionExam}" title="SessionexamidSessionExam" required="true" requiredMessage="The SessionexamidSessionExam field is required.">
                            <!-- TODO: update below reference to list of available items-->
                            <f:selectItems value="#{fixme}"/>
                        </h:selectOneMenu>
                    </h:panelGrid>
                </h:form>
            </f:view>
     
        </h:body>
    </html>
    Le problème est que je n'arrive pas à exécuter le jsf. Le déploiement se déroule sans problème mais lorsque j'exécute le jsf EtudiantSaisie.xhtml j'ai l'eureur suivante: An Error Occurred:
    /EtudiantSaisie.xhtml @19,183 value="#{etudiantMbean.etudiant.idEtudiant}": The class 'managedbeans.EtudiantMbean' does not have the property 'etudiant'.

    Voici le log laissé par glassfish:
    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
    javax.el.PropertyNotFoundException: /EtudiantSaisie.xhtml @19,183 value="#{etudiantMbean.etudiant.idEtudiant}": The class 'managedbeans.EtudiantMbean' does not have the property 'etudiant'.
    	at com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:111)
    	at javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:194)
    	at javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:182)
    	at javax.faces.component.UIOutput.getValue(UIOutput.java:174)
    	at javax.faces.component.UIInput.getValue(UIInput.java:291)
    	at com.sun.faces.renderkit.html_basic.HtmlBasicInputRenderer.getValue(HtmlBasicInputRenderer.java:205)
    	at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.getCurrentValue(HtmlBasicRenderer.java:355)
    	at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeEnd(HtmlBasicRenderer.java:164)
    	at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:924)
    	at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:312)
    	at com.sun.faces.renderkit.html_basic.GridRenderer.renderRow(GridRenderer.java:185)
    	at com.sun.faces.renderkit.html_basic.GridRenderer.encodeChildren(GridRenderer.java:129)
    	at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:894)
    	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1856)
    	at javax.faces.render.Renderer.encodeChildren(Renderer.java:176)
    	at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:894)
    	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1856)
    	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1859)
    	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1859)
    	at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:443)
    	at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:131)
    	at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:120)
    	at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
    	at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:219)
    	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:647)
    	at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1682)
    	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:318)
    	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:160)
    	at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:734)
    	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:673)
    	at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:99)
    	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:174)
    	at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:357)
    	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:260)
    	at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:188)
    	at org.glassfish.grizzly.http.server.HttpHandler.runService(HttpHandler.java:191)
    	at org.glassfish.grizzly.http.server.HttpHandler.doHandle(HttpHandler.java:168)
    	at org.glassfish.grizzly.http.server.HttpServerFilter.handleRead(HttpServerFilter.java:189)
    	at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:119)
    	at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:288)
    	at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:206)
    	at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:136)
    	at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:114)
    	at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77)
    	at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:838)
    	at org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:113)
    	at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:115)
    	at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access$100(WorkerThreadIOStrategy.java:55)
    	at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:135)
    	at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:564)
    	at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:544)
    	at java.lang.Thread.run(Thread.java:724)
    Caused by: javax.el.PropertyNotFoundException: The class 'managedbeans.EtudiantMbean' does not have the property 'etudiant'.
    	at javax.el.BeanELResolver.getBeanProperty(BeanELResolver.java:730)
    	at javax.el.BeanELResolver.getValue(BeanELResolver.java:351)
    	at com.sun.faces.el.DemuxCompositeELResolver._getValue(DemuxCompositeELResolver.java:176)
    	at com.sun.faces.el.DemuxCompositeELResolver.getValue(DemuxCompositeELResolver.java:203)
    	at com.sun.el.parser.AstValue.getValue(AstValue.java:140)
    	at com.sun.el.parser.AstValue.getValue(AstValue.java:204)
    	at com.sun.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:226)
    	at com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:109)
    	... 51 more
    Merci d'avance pour toute aide que vous pourrez m'apporter

  2. #2
    Membre chevronné 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
    Points : 2 120
    Points
    2 120
    Par défaut
    salut,
    voici ce qui manque ou doit etre modifier dans la classe EtudiantMbean.java :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    public void setEtudiant( Etudiant  ed){
            this.etudiant = ed;
            etudiantManager.addEtudiant(ed);
        }
     
    public Etudiant getEtudiant(){
            return etudiant;
        }
    Eric

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2013
    Messages : 6
    Points : 8
    Points
    8
    Par défaut Merci jeffray03
    Un grand merci à toi jeffray03 pour ton apport. La solution que tu me donne m'ouvre les yeux face à d'autres problèmes que j'avais auparavant.
    Merci de tout cœur.

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 02/06/2015, 20h37
  2. Problème avec le Managed Bean
    Par Nadou90 dans le forum Java EE
    Réponses: 12
    Dernier message: 23/03/2013, 11h05
  3. Erreur d'éxecution 91 / Probléme avec l'éxecutable
    Par csilas dans le forum VB 6 et antérieur
    Réponses: 14
    Dernier message: 17/08/2010, 09h27
  4. problème avec System.management
    Par arabimouh dans le forum Windows Mobile
    Réponses: 2
    Dernier message: 24/05/2007, 16h50
  5. [RCP] Problème avec Update Manager
    Par Robiwan59 dans le forum Eclipse Platform
    Réponses: 6
    Dernier message: 07/03/2007, 16h23

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