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] Action du bouton qui ne se déclenche pas


Sujet :

JSF Java

  1. #1
    Membre à l'essai
    Femme Profil pro
    Inscrit en
    Janvier 2014
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Janvier 2014
    Messages : 44
    Points : 17
    Points
    17
    Par défaut [JSF] Action du bouton qui ne se déclenche pas
    Bonjour tout le monde
    je voudrai exécuter une action une fois je clique su r un bouton, mais elle ne se déclenche pas, quoique j'ai défini la méthode dans mon managedBean.
    Voici les bouts de codes que j'utilise:

    La méthode dans le managedBean:
    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
     
    public String AccuserReception() 
       {
           Date date = new Date( System.currentTimeMillis() );
           facture.setDateReceptionPhysique(date);
     
           Boolean resultat = factureDao.AccuserRec(facture);
     
           if(resultat == true)
           {
               return "DateRec";
           }
     
           else
           {
               return "echec";
           }
     
       }
    la méthode du DAO:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    public Boolean AccuserRec(Facture f)
        {
           session.beginTransaction();
           session.merge(f);
           session.getTransaction().commit();
           return true;
        }
    et enfin le code de ma page jsf:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <h:form>
     
                            <p:commandButton value="Accuser réception" action="#{factureFournisseurBean.accuserReception()}" icon="ui-icon-check"/>
            </h:form>
    Quelqu'un a une idée sur le problème s'il vous pLait?

  2. #2
    Membre chevronné
    Avatar de eulbobo
    Homme Profil pro
    Développeur Java
    Inscrit en
    Novembre 2003
    Messages
    786
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Novembre 2003
    Messages : 786
    Points : 1 993
    Points
    1 993
    Par défaut
    Met la première lettre de ta méthode en minuscule : c'est case sensitive (et tu l'appelles avec une minuscule dans ta JSF) ! : public String accuserReception() {...

    Accessoirement,
    - si le premier caractère d'un nom de méthode est une lettre, elle doit toujours etre en minuscule (par convention, c'est plus simple à distinguer par rapport aux classes)
    - pareil pour les noms de variables


    Sinon, ta méthode "AccuserRec" de ta DAO renvoie toujours false en passant deux fois par de l'autoboxing (boolean --> Boolean --> boolean). Ca ne sert pas à grand chose et ça fait travailler le CPU pour rien.
    Et Date date = new Date( System.currentTimeMillis() );, c'est équivalent à Date date = new Date();
    Je ne suis pas mort, j'ai du travail !

  3. #3
    Membre à l'essai
    Femme Profil pro
    Inscrit en
    Janvier 2014
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Janvier 2014
    Messages : 44
    Points : 17
    Points
    17
    Par défaut
    J'ai mis le tout en minuscule mais ça ne marche toujours pas.
    Et si c'était un problème au niveau de la méthode AccuserRec() du DAO ça devrait me rediriger vers la page "echec" normalement, mais là, aucune action n'es exécutée.

  4. #4
    Membre chevronné
    Avatar de eulbobo
    Homme Profil pro
    Développeur Java
    Inscrit en
    Novembre 2003
    Messages
    786
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Novembre 2003
    Messages : 786
    Points : 1 993
    Points
    1 993
    Par défaut
    Dans ton code actuel, l'appel de la méthode accuserRec renvoie TOUJOURS true.
    Le seul cas où ça ne renvoie pas true, c'est en cas d'exception... Qui n'est pas géré ici.


    Essaye de mettre en System.out.println("Appel action"); juste après le début de ta méthode accuserReception pour voir si ça arrive au moins jusque là

    Essaye aussi de forcer le rafraichissement de ta page (ctrl+f5)
    Et si c'est pas ça, il nous faudrait le reste des éléments pour qu'on puisse t'aider
    Je ne suis pas mort, j'ai du travail !

  5. #5
    Membre averti
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Juillet 2013
    Messages
    269
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2013
    Messages : 269
    Points : 434
    Points
    434
    Par défaut
    Bonjour, es tu sûr du nom de ton bean factureFournisseurBean (qui est case sensitive il me semble aussi) ?

  6. #6
    Membre à l'essai
    Femme Profil pro
    Inscrit en
    Janvier 2014
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Janvier 2014
    Messages : 44
    Points : 17
    Points
    17
    Par défaut
    Oui VirgApps, le nom du bean est correct. J'ai mis un System.out dans la méthode "accuserReception()" comme eulbobo m'a demandé est ça a marché, mais l'action n'est pas encore déclenchée. Je commence à croire que c'est la méthode "AccuserRec(Facture f)" du DAO qui pose problème...

  7. #7
    Membre averti
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Juillet 2013
    Messages
    269
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2013
    Messages : 269
    Points : 434
    Points
    434
    Par défaut
    Le plus simple est de passer en mode debug, tu travailles avec quel IDE ?
    Tu pourrais ainsi vérifier que factureDAO est bien instancié.

  8. #8
    Membre à l'essai
    Femme Profil pro
    Inscrit en
    Janvier 2014
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Janvier 2014
    Messages : 44
    Points : 17
    Points
    17
    Par défaut
    Comment pourrai-je passer en mode debug s'il te plait? Je travaille avec Netbeans.

  9. #9
    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,
    comment as-tu declaré ta classe et modifies ceci voir:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     <p:commandButton value="Accuser réception" immediate="true" action="#{factureFournisseurBean.accuserReception}" icon="ui-icon-check"/>
    eric

  10. #10
    Membre à l'essai
    Femme Profil pro
    Inscrit en
    Janvier 2014
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Janvier 2014
    Messages : 44
    Points : 17
    Points
    17
    Par défaut
    Bonjour eric
    Le code de ma classe est le suivant:

    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
     
     
    package Beans;
     
    import Dao.EngagementDao;
    import Dao.FactureDao;
    import Dao.FournisseurDao;
    import Dao.StatutDao;
    import Dao.UtilisateurDao;
    import Entités.Engagement;
    import Entités.Facture;
    import Entités.Fournisseur;
    import Entités.Statut;
    import Entités.Utilisateur;
    import java.util.Date;
    import java.util.List;
    import javax.faces.bean.ManagedBean;
     
    @ManagedBean
    public class FactureFournisseurBean {
     
        private Facture facture = new Facture();
        private Fournisseur fournisseur = new Fournisseur();
        private Engagement engagement = new Engagement();
        private Statut statut = new Statut();
        private Utilisateur utilisateur = new Utilisateur();
     
        private EngagementDao engagementDao = new EngagementDao();
        private StatutDao statutDao = new StatutDao();
        private FournisseurDao fournisseurDao = new FournisseurDao();
        private FactureDao factureDao = new FactureDao();
        private UtilisateurDao utilisateurDao = new UtilisateurDao();
     
        private List<Engagement> listeTypeEngagement;
        private Long IdEngagement;
        private List<Statut> listeIntituleStatut;
        private Long IdStatut;
        private List<Utilisateur> listeLogin;
        private Long CodeUtilisateur;
     
     
        // Getters et Setters:
     
        public Facture getFacture() {
            return facture;
        }
     
        public void setFacture(Facture facture) {
            this.facture = facture;
        }
     
        public Fournisseur getFournisseur() {
            return fournisseur;
        }
     
        public void setFournisseur(Fournisseur fournisseur) {
            this.fournisseur = fournisseur;
        }
     
        public Engagement getEngagement() {
            return engagement;
        }
     
        public void setEngagement(Engagement engagement) {
            this.engagement = engagement;
        }
     
        public Statut getStatut() {
            return statut;
        }
     
        public void setStatut(Statut statut) {
            this.statut = statut;
        }
     
        public Utilisateur getUtilisateur() {
            return utilisateur;
        }
     
        public void setUtilisateur(Utilisateur utilisateur) {
            this.utilisateur = utilisateur;
        }
     
        public List<Engagement> getListeTypeEngagement() {
            return listeTypeEngagement;
        }
     
        public void setListeTypeEngagement(List<Engagement> listeTypeEngagement) {
            this.listeTypeEngagement = listeTypeEngagement;
        }
     
        public Long getIdEngagement() {
            return IdEngagement;
        }
     
        public void setIdEngagement(Long IdEngagement) {
            this.IdEngagement = IdEngagement;
        }
     
        public Long getIdStatut() {
            return IdStatut;
        }
     
        public void setIdStatut(Long IdStatut) {
            this.IdStatut = IdStatut;
        }
     
        public Long getCodeUtilisateur() {
            return CodeUtilisateur;
        }
     
        public void setCodeUtilisateur(Long CodeUtilisateur) {
            this.CodeUtilisateur = CodeUtilisateur;
        }
     
     
     
     
     
        // Fonction qui enregistre une facture au niveau du BO:
        public String EnregistrerFactureBo()
        {
            fournisseur.setSociete(fournisseur.getSociete());
            fournisseur.setAdresse(fournisseur.getAdresse());
            fournisseur.setEmail(fournisseur.getEmail()); 
     
     
            Engagement e = factureDao.Find_Engagement(IdEngagement);
            Statut s = factureDao.Find_Statut(IdStatut);
            Utilisateur u = factureDao.Find_Utilisateur(CodeUtilisateur);
            Fournisseur f = fournisseurDao.AjoutFournisseur(fournisseur);
     
            if(f!=null)
            {
     
            Date date = new Date( System.currentTimeMillis() );
            // SimpleDateFormat sdf = new SimpleDateFormat( "dd/MM/yyyy hh:mm:ss" );
            // System.out.println( sdf.format( date ) );
     
            facture.setNumeroFacture(facture.getNumeroFacture());
            facture.setReference(facture.getReference());
            facture.setEngagement(e);
            facture.setFournisseur(fournisseur);
            facture.setMontant(facture.getMontant());
            facture.setStatut(s);
            facture.setUtilisateur(u);  // Je dois récupérer l'User connécté!!!!
     
            facture.setDateReceptionPhysique(date);
            facture.setDateReceptionSysteme(date);
     
     
                // fournisseur.getFacture().add(facture);
            }
     
            Boolean resultat = factureDao.EnregistrerBo(facture);
     
            if(resultat==true)
            {
                return "index";
            }
            else
            {
                return "echec";
            }
        }
     
         // Fonction qui retourne ttes les factures existantes ds la BD:
        public List<Facture> ListeFactures()
        {
           List<Facture> factures = factureDao.listeToutesFactures();
           return factures;
        }
     
     
      // Fonction qui enregistre la date de réception physique d'une facture une fois l'entité accuse réception de la facture:
       public String accuserReception() 
       {
           Date date = new Date();
           System.out.println("La date du jour eeeeeeeest:::: " +date);
           facture.setDateReceptionPhysique(date);
     
           this.factureDao.AccuserRec(this.facture);
     
           return "DateRec";
     
       }
     
     
     
       public String test()
       {
               return "teeest";
       }
    }

  11. #11
    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
    modifies ceci voir:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <p:commandButton value="Accuser réception"  immediate="true" action="#{factureFournisseurBean.accuserReception}" icon="ui-icon-check"/>
    et ajoutes :
    @SessionScoped
    sur la definition de ta classe

  12. #12
    Membre à l'essai
    Femme Profil pro
    Inscrit en
    Janvier 2014
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Janvier 2014
    Messages : 44
    Points : 17
    Points
    17
    Par défaut
    ça n'a rien donnée. Toujours le même problème.

  13. #13
    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,
    ou se trouves les pages a appeler?
    sont-elles dans le repertoire WEBCONTENT ou WEB-INF?

    Eric

  14. #14
    Membre à l'essai
    Femme Profil pro
    Inscrit en
    Janvier 2014
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Janvier 2014
    Messages : 44
    Points : 17
    Points
    17
    Par défaut
    Elles sont dans le WebContent.
    Quand je fais un test de redirection simple (c'est à dire une fois je clique sur le bouton ça me redirige vers une autre page) ça fonctionne, mais une fois je rajoute la méthode "AccuserRec" de mon DAO ça bloque la redirection, et aucune modification ne s'effectue au niveau de la base de données.

  15. #15
    Membre à l'essai
    Femme Profil pro
    Inscrit en
    Janvier 2014
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Janvier 2014
    Messages : 44
    Points : 17
    Points
    17
    Par défaut
    Voila j'ai trouvé l'erreur suivante dans le log de 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
     
    Caused by: org.hibernate.TransactionException: nested transactions not supported
    	at org.hibernate.engine.transaction.spi.AbstractTransactionImpl.begin(AbstractTransactionImpl.java:154)
    	at org.hibernate.internal.SessionImpl.beginTransaction(SessionImpl.java:1431)
    	at Dao.FactureDao.AccuserRec(FactureDao.java:71)
    	at Beans.FactureFournisseurBean.accuserReception(FactureFournisseurBean.java:183)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    	at java.lang.reflect.Method.invoke(Method.java:606)
    	at javax.el.ELUtil.invokeMethod(ELUtil.java:332)
    	at javax.el.BeanELResolver.invoke(BeanELResolver.java:537)
    	at javax.el.CompositeELResolver.invoke(CompositeELResolver.java:256)
    	at com.sun.el.parser.AstValue.invoke(AstValue.java:283)
    	at com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:304)
    	at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:105)
    	at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:87)

  16. #16
    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
    et il n´ya aucune exception qui est levée?
    as-tu des fichiers nommés DateRec.xhtml et echec.xhtml ?
    et quel est la valeur de ?
    Eric

  17. #17
    Membre à l'essai
    Femme Profil pro
    Inscrit en
    Janvier 2014
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Janvier 2014
    Messages : 44
    Points : 17
    Points
    17
    Par défaut
    Les pages de redirections existent bel et bien.
    En fait j'ai changer les méthodes du bean et du DAO:

    Méthode du 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
     
     public String accuserReception() 
       {
           Date date = new Date();
           System.out.println("La date du jour eeeeeeeest:::: " +date);
           facture.setDateReceptionPhysique(date);
     
           this.factureDao.AccuserRec(this.facture);
     
           return "DateRec";
     
       }
     
     
     
       public String test()
       {
               return "teeest";
       }
    Méthode du DAO:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    public void AccuserRec(Facture f)
        {
           System.out.println("Facture bieeeeen modifiée!!!!");
           session.beginTransaction();
           session.update(f);
           session.getTransaction().commit();
           session.close();
        }
    Et le log m'affiche l'erreur suivante:
    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
     
    Avertissement:   #{factureFournisseurBean.accuserReception()}: org.hibernate.TransactionException: nested transactions not supported
    javax.faces.FacesException: #{factureFournisseurBean.accuserReception()}: org.hibernate.TransactionException: nested transactions not supported
    	at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:118)
    	at org.primefaces.application.DialogActionListener.processAction(DialogActionListener.java:45)
    	at javax.faces.component.UICommand.broadcast(UICommand.java:315)
    	at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:790)
    	at javax.faces.component.UIViewRoot.processDecodes(UIViewRoot.java:931)
    	at com.sun.faces.lifecycle.ApplyRequestValuesPhase.execute(ApplyRequestValuesPhase.java:78)
    	at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
    	at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:198)
    	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:646)
    	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:415)
    	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:282)
    	at com.sun.enterprise.v3.services.impl.ContainerMapper$HttpHandlerCallable.call(ContainerMapper.java:459)
    	at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:167)
    	at org.glassfish.grizzly.http.server.HttpHandler.runService(HttpHandler.java:201)
    	at org.glassfish.grizzly.http.server.HttpHandler.doHandle(HttpHandler.java:175)
    	at org.glassfish.grizzly.http.server.HttpServerFilter.handleRead(HttpServerFilter.java:235)
    	at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:119)
    	at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:284)
    	at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:201)
    	at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:133)
    	at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:112)
    	at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77)
    	at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:561)
    	at org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:112)
    	at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:117)
    	at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access$100(WorkerThreadIOStrategy.java:56)
    	at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:137)
    	at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:565)
    	at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:545)
    	at java.lang.Thread.run(Thread.java:744)
    Caused by: javax.faces.el.EvaluationException: org.hibernate.TransactionException: nested transactions not supported
    	at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:101)
    	at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)
    	... 36 more
    Caused by: org.hibernate.TransactionException: nested transactions not supported
    	at org.hibernate.engine.transaction.spi.AbstractTransactionImpl.begin(AbstractTransactionImpl.java:154)
    	at org.hibernate.internal.SessionImpl.beginTransaction(SessionImpl.java:1431)
    	at Dao.FactureDao.AccuserRec(FactureDao.java:71)
    	at Beans.FactureFournisseurBean.accuserReception(FactureFournisseurBean.java:183)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    	at java.lang.reflect.Method.invoke(Method.java:606)
    	at javax.el.ELUtil.invokeMethod(ELUtil.java:332)
    	at javax.el.BeanELResolver.invoke(BeanELResolver.java:537)
    	at javax.el.CompositeELResolver.invoke(CompositeELResolver.java:256)
    	at com.sun.el.parser.AstValue.invoke(AstValue.java:283)
    	at com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:304)
    	at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:105)
    	at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:87)

  18. #18
    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,
    Il ya quelque chose qui n´est pas bien configurée,
    pour cela on a besoin de beaucoup plus de code ainsi que tes fichiers de configurations

    Le code de definissaion de ta session.
    et les fichiers de configurations

    Eric

  19. #19
    Membre à l'essai
    Femme Profil pro
    Inscrit en
    Janvier 2014
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Janvier 2014
    Messages : 44
    Points : 17
    Points
    17
    Par défaut
    Voila le code de définition de la session:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();
    Session session =sessionFactory.openSession();
    et le fichier de configuration d'hibernate est le suivant:
    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
     
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
    <hibernate-configuration>
      <session-factory>
        <property name="hibernate.dialect">org.hibernate.dialect.OracleDialect</property>
        <property name="hibernate.connection.driver_class">oracle.jdbc.OracleDriver</property>
        <property name="hibernate.connection.url">jdbc:oracle:thin:@localhost:1521:SuiviFacture</property>
        <property name="hibernate.connection.username">onda</property>
        <property name="hibernate.connection.password">onda</property>
        <property name ="hibernate.connection.pool_size">1</property>
     
        <property name="hibernate.cache.provider_class">org.hibernate.cache.NoCacheProvider</property>
        <property name="hibernate.show_sql">true</property>  
        <property name="hibernate.use_outer_join">true</property>
        <property name="hibernate.hbm2ddl.auto">update</property>
     
         <mapping class="Entités.Profil"/>
         <mapping class="Entités.Utilisateur"/>
         <mapping class="Entités.Facture"/>
         <mapping class="Entités.Engagement"/>
         <mapping class="Entités.Fournisseur"/>
         <mapping class="Entités.Statut"/>
      </session-factory>
    </hibernate-configuration>
    Mais je ne crois pas que ce soit un problème de configuration, puisque j'ai déja manipulé la base de données en affichant des liste et en faisant des save() et des delete(). Y'a que l'update() qui marche pas.

  20. #20
    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,
    as-tu fait au paravant un test de connection?

    test ceci:

    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
    public boolean AccuserRec(Facture f)
        {
    	   SessionFactory sessionFactory = null;
    	   Session session = null;
               boolean retour = false;
           System.out.println("Facture bieeeeen modifiée!!!!");
    	   try
    	   {
           SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();
           Session session =sessionFactory.openSession();
     
           Transaction transaction = session.beginTransaction();
           session.update(f);
           session.getTransaction().commit();
           session.close();
           retour = true;
    	   }
    	   catch(Exception e)
    	   {
    	      System.out.println("Connection a echoué. Raisons : " +e.getMessages());
     
    	   }
    	  return retour; 
        }
    Eric

Discussions similaires

  1. Réponses: 1
    Dernier message: 29/05/2014, 18h27
  2. [Souris] bouton qui ne se déclenche pas
    Par w_fatima dans le forum Périphériques
    Réponses: 2
    Dernier message: 18/07/2011, 15h24
  3. [ZF 1.9] Action qui ne se déclenche pas
    Par sheira dans le forum MVC
    Réponses: 17
    Dernier message: 31/08/2010, 17h54
  4. Réponses: 4
    Dernier message: 21/08/2007, 16h47
  5. [trigger] ... qui ne se déclenche pas
    Par bozo dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 14/01/2004, 11h31

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