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 :

[PrimeFaces] Agenda dynamique


Sujet :

JSF Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Etudiante
    Inscrit en
    Mai 2012
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Etudiante
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mai 2012
    Messages : 43
    Par défaut [PrimeFaces] Agenda dynamique
    Bonjour,

    J'ai utilisé PrimeFaces pour un agenda qui affiche les tâches des utilisateurs d'une façon dynamique.

    Voilà le message d'erreur:
    type Exception report

    message

    descriptionThe server encountered an internal error () that prevented it from fulfilling this request.

    exception

    javax.servlet.ServletException: Impossible d?instancier la classe «com.src.jsf.ScheduleController».

    root cause

    com.sun.faces.mgbean.ManagedBeanCreationException: Impossible d?instancier la classe «com.src.jsf.ScheduleController».

    root cause

    java.lang.NullPointerException

    note The full stack traces of the exception and its root causes are available in the GlassFish Server Open Source Edition 3.1.1 logs.
    class controller:
    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
    public class ScheduleController implements Serializable {
        @EJB
        private AgendatacheFacade agendatacheFacade;
     
        private ScheduleModel eventModel;
        private ScheduleEvent event = new DefaultScheduleEvent();
        List<Agendatache> listtache;
     
        public ScheduleController() {
            listtache = agendatacheFacade.getTache();
            eventModel = new DefaultScheduleModel();
            Agendatache tache=new Agendatache();
            String desc="";
            Date datedebut=new Date();
            Date datefin = new Date();
            for(int i=0; i<listtache.size(); i++){
                tache=listtache.get(i);
                desc=tache.getDescripTache();
                datedebut=tache.getDateDebut();
                datefin=tache.getDateFin();
                 eventModel.addEvent(new DefaultScheduleEvent(desc,datedebut, datefin));
            }
        }
    Page Web
    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' ?>
    <!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://java.sun.com/jsf/html"
          xmlns:f="http://java.sun.com/jsf/core"
          xmlns:p="http://primefaces.prime.com.tr/ui">
        <h:head>
            <title>Facelet Title</title>
        </h:head>
        <h:body>
            Hello from Facelets
            <h:form id="form">  
     
        <p:growl id="messages" showDetail="true" />  
     
        <p:schedule id="schedule" value="#{scheduleController.eventModel}" widgetVar="myschedule">  
     
            <p:ajax event="dateSelect" listener="#{scheduleController.onDateSelect}" update="eventDetails" oncomplete="PF('eventDialog').show()" />  
            <p:ajax event="eventSelect" listener="#{scheduleController.onEventSelect}" update="eventDetails" oncomplete="PF('eventDialog').show()" />  
            <p:ajax event="eventMove" listener="#{scheduleController.onEventMove}" update="messages" />  
            <p:ajax event="eventResize" listener="#{scheduleController.onEventResize}" update="messages" />  
     
        </p:schedule>  
     
        <p:dialog widgetVar="eventDialog" header="Event Details" showEffect="clip" hideEffect="clip">  
            <h:panelGrid id="eventDetails" columns="2">  
                <h:outputLabel for="title" value="Title:" />  
                <p:inputText id="title" value="#{scheduleController.event.title}" required="true"/>  
     
                <h:outputLabel for="from" value="From:" />  
                <p:inputMask id="from" value="#{scheduleController.event.startDate}" mask="99/99/9999">  
                    <f:convertDateTime pattern="dd/MM/yyyy" />  
                </p:inputMask>  
     
                <h:outputLabel for="to" value="To:" />  
                <p:inputMask id="to" value="#{scheduleController.event.endDate}" mask="99/99/9999">  
                    <f:convertDateTime pattern="dd/MM/yyyy" />  
                </p:inputMask>  
     
                <h:outputLabel for="allDay" value="All Day:" />  
                <h:selectBooleanCheckbox id="allDay" value="#{scheduleController.event.allDay}" />  
     
                <p:commandButton type="reset" value="Reset" />  
                <p:commandButton id="addButton" value="Save" actionListener="#{scheduleController.addEvent}" oncomplete="PF('myschedule').update();PF('eventDialog').hide();"/>  
            </h:panelGrid>  
        </p:dialog>  
     
    </h:form> 
        </h:body>
    </html>
    Quelqu'un saurait-il m'indiquer d'où peut venir le problème ?

    Merci d'avance pour votre aide.

  2. #2
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France

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

    Informations forums :
    Inscription : Janvier 2012
    Messages : 59
    Par défaut
    C'est surement pas la réponse à ton problème, mais un truc ma sauté au yeux, dans ton index tu as:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    xmlns:p="http://primefaces.prime.com.tr/ui">
    Et personnellement si je l'utilise dans un projet, il me fait des erreur incompressible.

    Essais ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    xmlns:p="http://primefaces.org/ui">
    Sinon, toujours la même erreur?

  3. #3
    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
    une autre raison pourrait etre que:
    est nulle.

    fais nous savoir si cela ne marche pas comment est ce que tu as declaré cette classe.

    Eric

  4. #4
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    Il ne faut surtout pas mettre ton code d'initialisation dans le constructeur, à ce moment là, l'EJB n'est pas encore inséré.
    Il faut créer une méthode avec l'annotation @PostConstruct pour ça
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre averti
    Femme Profil pro
    Etudiante
    Inscrit en
    Mai 2012
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Etudiante
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mai 2012
    Messages : 43
    Par défaut Primefaces agenda dynamique
    Bonjour jeffray03,

    voila la classe agendatacheFacade:
    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
     
    /*
     * To change this template, choose Tools | Templates
     * and open the template in the editor.
     */
    package com.src.sessions;
     
    import com.src.jpa.Agendatache;
    import java.util.List;
    import javax.ejb.Stateless;
    import javax.persistence.EntityManager;
    import javax.persistence.PersistenceContext;
    import javax.persistence.Query;
     
    /**
     *
     * @author Accent-Saidi
     */
    @Stateless
    public class AgendatacheFacade extends AbstractFacade<Agendatache> {
        @PersistenceContext(unitName = "GTAappPU")
        private EntityManager em;
     
        protected EntityManager getEntityManager() {
            return em;
        }
     
        public AgendatacheFacade() {
            super(Agendatache.class);
        }
     
        public List<Agendatache> getTache() {
            Query query = em.createNamedQuery("Agendatache.findAll");
            return query.getResultList();
        }
    }
    et voilà le medel jpa:

    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
     
    /*
     * To change this template, choose Tools | Templates
     * and open the template in the editor.
     */
    package com.src.jpa;
     
    import java.io.Serializable;
    import java.util.Date;
    import javax.persistence.Basic;
    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.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;
     
    /**
     *
     * @author Accent-Saidi
     */
    @Entity
    @Table(name = "agendatache", catalog = "gtadatabase", schema = "")
    @XmlRootElement
    @NamedQueries({
        @NamedQuery(name = "Agendatache.findAll", query = "SELECT a FROM Agendatache a"),
        @NamedQuery(name = "Agendatache.findByNumTache", query = "SELECT a FROM Agendatache a WHERE a.numTache = :numTache"),
        @NamedQuery(name = "Agendatache.findByDescripTache", query = "SELECT a FROM Agendatache a WHERE a.descripTache = :descripTache"),
        @NamedQuery(name = "Agendatache.findByDateDebut", query = "SELECT a FROM Agendatache a WHERE a.dateDebut = :dateDebut"),
        @NamedQuery(name = "Agendatache.findByDureeTache", query = "SELECT a FROM Agendatache a WHERE a.dureeTache = :dureeTache"),
        @NamedQuery(name = "Agendatache.findByDateFin", query = "SELECT a FROM Agendatache a WHERE a.dateFin = :dateFin"),
        @NamedQuery(name = "Agendatache.findByAffecteePar", query = "SELECT a FROM Agendatache a WHERE a.affecteePar = :affecteePar")})
    public class Agendatache implements Serializable {
        private static final long serialVersionUID = 1L;
        @Id
        @GeneratedValue(strategy = GenerationType.IDENTITY)
        @Basic(optional = false)
     
        @Column(name = "numTache")
        private Integer numTache;
        @Size(max = 254)
        @Column(name = "descripTache", length = 254)
        private String descripTache;
        @Column(name = "dateDebut")
        @Temporal(TemporalType.TIMESTAMP)
        private Date dateDebut;
        @Column(name = "dureeTache")
        private Integer dureeTache;
        @Column(name = "dateFin")
        @Temporal(TemporalType.TIMESTAMP)
        private Date dateFin;
        @Size(max = 245)
        @Column(name = "affecteePar", length = 245)
        private String affecteePar;
        @JoinColumn(name = "idEtat", referencedColumnName = "idEtat")
        @ManyToOne
        private Etat idEtat;
        @JoinColumn(name = "numDmd", referencedColumnName = "numDmd")
        @ManyToOne
        private Demande numDmd;
        @JoinColumn(name = "mat", referencedColumnName = "mat")
        @ManyToOne
        private User mat;
     
        public Agendatache() {
        }
     
        public Agendatache(Integer numTache) {
            this.numTache = numTache;
        }
     
        public Integer getNumTache() {
            return numTache;
        }
     
        public void setNumTache(Integer numTache) {
            this.numTache = numTache;
        }
     
        public String getDescripTache() {
            return descripTache;
        }
     
        public void setDescripTache(String descripTache) {
            this.descripTache = descripTache;
        }
     
        public Date getDateDebut() {
            return dateDebut;
        }
     
        public void setDateDebut(Date dateDebut) {
            this.dateDebut = dateDebut;
        }
     
        public Integer getDureeTache() {
            return dureeTache;
        }
     
        public void setDureeTache(Integer dureeTache) {
            this.dureeTache = dureeTache;
        }
     
        public Date getDateFin() {
            return dateFin;
        }
     
        public void setDateFin(Date dateFin) {
            this.dateFin = dateFin;
        }
     
        public String getAffecteePar() {
            return affecteePar;
        }
     
        public void setAffecteePar(String affecteePar) {
            this.affecteePar = affecteePar;
        }
     
        public Etat getIdEtat() {
            return idEtat;
        }
     
        public void setIdEtat(Etat idEtat) {
            this.idEtat = idEtat;
        }
     
        public Demande getNumDmd() {
            return numDmd;
        }
     
        public void setNumDmd(Demande numDmd) {
            this.numDmd = numDmd;
        }
     
        public User getMat() {
            return mat;
        }
     
        public void setMat(User mat) {
            this.mat = mat;
        }
     
        @Override
        public int hashCode() {
            int hash = 0;
            hash += (numTache != null ? numTache.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 Agendatache)) {
                return false;
            }
            Agendatache other = (Agendatache) object;
            if ((this.numTache == null && other.numTache != null) || (this.numTache != null && !this.numTache.equals(other.numTache))) {
                return false;
            }
            return true;
        }
     
        @Override
        public String toString() {
            return "com.src.jpa.Agendatache[ numTache=" + numTache + " ]";
        }
     
    }

  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
    as-tu declaré comme un managedBean? si oui ou?
    peux-tu nous montrer ou si tu utilises un CDI il faudra l´annoter @Named
    comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    @ManagedBean
    public class  ScheduleController {
    ou avec CDI
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    @Named
    public class  ScheduleController {
    et cela devrait marcher.

    Eric

Discussions similaires

  1. [PrimeFaces] Calendrier dynamique
    Par ayasaidi dans le forum JSF
    Réponses: 14
    Dernier message: 31/01/2014, 20h45
  2. [PrimeFaces 3.2 / JSF 2] Identifiants dynamiques
    Par rolandl dans le forum JSF
    Réponses: 1
    Dernier message: 31/08/2012, 15h14
  3. Réponses: 4
    Dernier message: 25/06/2012, 14h13
  4. PrimeFaces 3 agenda
    Par lolidj dans le forum JSF
    Réponses: 0
    Dernier message: 01/06/2012, 17h11
  5. Paramètres Dynamique (Pie Chart : Primefaces 3.0)
    Par meryam123 dans le forum JSF
    Réponses: 5
    Dernier message: 08/02/2012, 18h29

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