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

Développement Web en Java Discussion :

Réinitialisation page application


Sujet :

Développement Web en Java

  1. #1
    Membre confirmé
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Janvier 2012
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Janvier 2012
    Messages : 56
    Par défaut réinitialisation page application
    Bonjour !

    Après de nombreux rebondissement, j'ai installé mon application java web serveur sur glassfish... Et ça marche !

    merci à ceux qui m'ont aidé

    Mais... Juste un point de détail qui a son importance.

    lorsque je referme mon navigateur, puis me reconnecte à mon application, je m'apperçoit que le contenu des formulaires est resté enregistré, comme si l'application web ne se réinitialisait pas. Bien sur, glassfish me redemande le mot de passe, mais je retrouve les données comme lors de mon ancienne visite, et même plusieurs heures après.
    Cela pose problème, car dans la gestion de fichier, "nouvelle fiche" par exemple ne se réinitialise pas, et plus grave, j'imagine que si chaque connection reste en standby, au bout d'un moment, ça va saturer quelque part...

    que faire ? Ai-je loupé quelque chose ?

    merci de votre réponse !

  2. #2
    Membre confirmé
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Janvier 2012
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Janvier 2012
    Messages : 56
    Par défaut multi utilisateur
    Pour compléter mon précédent message, la chose est encore plus grave que cela...

    En fait, sur une application que l'on pourrait, pour simplifier, qualifier de e-commerce, je me rend compte en fait qu'il y a une seule instance.
    C'est à dire : si 2 utilisateurs se connectent en même temps, ils partagent les mêmes données, c'est à dire que par exemple :

    Un utilisateur A s'identifie et ajoute un article dans son panier.
    Si un deuxième utilisateur, B, se connecte en même temps, il retrouvera dans son panier les articles de A.

    Tout se passe comme si... il n'y avait qu'un seul panier, etc partagé par tous les utilisateurs de l'application !

    Autre exemple, après la connection, chaque utilisateur indique son nom, qui s'affiche alors en haut de la page html.
    exemple : A tape "A" pour s'identifier. A apparait dans l'entête de sa page.

    lorsqu'un deuxième utilisateur (B) s'identifie, le premier voit son nom changer en "B" !

    L'objectif, est bien sûr qu'il n'y ait aucune interférence entre les différents utilisateurs simultanés de l'application web.

    Comment faire ?
    Est-ce un problème simple de paramétrage de glassfish, ou plus grave, de conception du logiciel javaEE ?

    Merci de votre aide !

  3. #3
    Membre Expert
    Avatar de fxrobin
    Homme Profil pro
    Architecte SI, Java Fan, API Manager
    Inscrit en
    Novembre 2007
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte SI, Java Fan, API Manager
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2007
    Messages : 875
    Par défaut
    Bonjour,

    quelle est l'architecture technique de ton application ? JSF ?
    N'est-ce pas tout simplement ton navigateur qui conserve les données saisies ?

  4. #4
    Membre confirmé
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Janvier 2012
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Janvier 2012
    Messages : 56
    Par défaut
    Je pensait au début que mon navigateur gardait en mémoire les données saisies.

    (mon premier message)

    mais j'ai compris ensuite (après des essais sur différents ordis en simultané) que c'était la même "instance" du logiciel, puisque des données saisies dans l'un, se répercute dans l'autre (con,tenu du panier par exemple, ou nom de l'utilisateur

  5. #5
    Membre Expert
    Avatar de fxrobin
    Homme Profil pro
    Architecte SI, Java Fan, API Manager
    Inscrit en
    Novembre 2007
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte SI, Java Fan, API Manager
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2007
    Messages : 875
    Par défaut
    et tu es en quoi ? JSF ? Struts ? JSP pur ?

  6. #6
    Membre confirmé
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Janvier 2012
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Janvier 2012
    Messages : 56
    Par défaut
    Je débute en java web serveur, je me suis inspiré du très bon tutoriel de supelec à l'adresse suivante :

    http://wwwdi.supelec.fr/hardebolle/t...vaEE/index.php

    que j'ai adapté ensuite pour arriver à mes fins...

    je suis donc JSF, JSF Managed Beans, JPA, EJBs Entity et EJBs Session Stateless

    Entretemps, j'ai résolu 90% de mon problème, simplement dans le code de mes sources java, j'avais placé (en suivant le tutoriel)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    @ManagedBean
    @ApplicationScoped
    alors qu'il fallait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    @ManagedBean
    @SessionScoped
    mais il me reste un dernier détail, j'ai besoin de quelques variables qui puissent être accessible d'une classe java à une autre.

    j'ai donc créé un nouveau package java qui contient une classe, elle même contenant ces quelques variables globales, présenté comme cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    public static String  user;
    public static String tUser;
    Puis j'ai mis un import dans mes autres classes (d'un autre package) pour y accéder.

    Ca marche, mais... ces variables sont commune à toutes les sessions de mon application.

    si je remplace public par private, je n'arrive pas à y accéder depuis mes autres classes java.

    Bref, comment faire pour utiliser des variables globales à l'application, mais qui restent bien distinctes de session à session ?

  7. #7
    Membre Expert
    Avatar de fxrobin
    Homme Profil pro
    Architecte SI, Java Fan, API Manager
    Inscrit en
    Novembre 2007
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte SI, Java Fan, API Manager
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2007
    Messages : 875
    Par défaut
    Il faut mieux que tu aies un ManagedBean de scope session qui s'occupe de garder ces données. Par exemple UserSessionBean

    Ensuite tu peux faire référence à ce bean au sein d'un autre bean managé avec l'annotation :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    @ManagedProperty(name="#{userSessionBean}")
    UserSessionBean userSession;
    ou dans tout autre classe qui aurait accès au context JSF de manière programmatique par exemple avec cette méthode d'une classe utilitaire :

    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
     
    /**
         * Méthode qui permet d'obtenir l'instance d'un bean managé par JSF 
         * au moyen d'une expression EL. 
         *
         * @param <T>
         * @param elExpression
         * @param type
         * @return
         */
        public static <T> T getManagedBean(String elExpression, Class<T> type)
        {
            FacesContext context = FacesContext.getCurrentInstance();
            return (T) context.getApplication().evaluateExpressionGet(context, elExpression, type);
        }
    qui s'utilise comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    UserSessioBean userSession = JsfUtils.getManagedBean("#{userSessionBean}", UserSessionBean.class);

  8. #8
    Membre confirmé
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Janvier 2012
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Janvier 2012
    Messages : 56
    Par défaut
    Ok... J'ai essayé de comprendre la manip à faire ... Mais ça ne marche pas...
    Pas simple pour un débutant sous java !

    j'ai fait "ça" :

    1) un ManagedBean de scope session qui s'occupe de garder ces données. Par exemple UserSessionBean

    Si je ne me trompe pas, ça donne ç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
    20
    21
    22
    23
    24
    /*
     * To change this template, choose Tools | Templates
     * and open the template in the editor.
     */
    package logic;
     
    import javax.faces.bean.ManagedBean;
    import javax.faces.bean.SessionScoped;
     
    @ManagedBean
    @SessionScoped
     
     
     
    /**
     *
     * @author jm
     */
    public class UserSessionBean {
     
        public static String  user;
        public static String tUser;
     
    }
    2) "Ensuite tu peux faire référence à ce bean au sein d'un autre bean managé avec l'annotation"

    J'ai essayé, mais la ligne ci dessous ne passe pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    @ManagedProperty(name="#{userSessionBean}")
    même si je rajoute
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    import javax.faces.bean.ManagedProperty
    j'ai donc omis cette ligne, puis j'ai essayé :

    le programme ne plante pas, mais... La variable reste globale au niveau de l'application

    Bref, dites moi où j'ai pu me planter ?

    Merci de votre aide !

  9. #9
    Membre Expert
    Avatar de fxrobin
    Homme Profil pro
    Architecte SI, Java Fan, API Manager
    Inscrit en
    Novembre 2007
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte SI, Java Fan, API Manager
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2007
    Messages : 875
    Par défaut
    j'ai fait une erreur (d'ailleurs je fais toujours la même, soit dit en passant)

    il ne s'agit pas de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    @ManagedProperty(name="#{userSessionBean}")
    mais de

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    @ManagedProperty(value="#{userSessionBean}")
    Si ça ne marche toujours pas, montre ton ManagedBean dans lequel tu as ton @ManagedProperty.

  10. #10
    Membre confirmé
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Janvier 2012
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Janvier 2012
    Messages : 56
    Par défaut
    C'est pire, il y a une erreur générale que je ne comprend pas...
    si j'utilise
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    @ManagedProperty(value="#{userSessionBean}")

    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
    An Error Occurred:
    Impossible de définir la propriété «arListPtvte» du bean géré «loginVenteCatalogManager».
    - Stack Trace
     
    com.sun.faces.mgbean.ManagedBeanCreationException: Impossible de définir la propriété «arListPtvte» du bean géré «loginVenteCatalogManager».
    	at com.sun.faces.mgbean.ManagedBeanBuilder$BakedBeanProperty.set(ManagedBeanBuilder.java:615)
    	at com.sun.faces.mgbean.ManagedBeanBuilder.buildBean(ManagedBeanBuilder.java:133)
    	at com.sun.faces.mgbean.BeanBuilder.build(BeanBuilder.java:104)
    	at com.sun.faces.mgbean.BeanManager.createAndPush(BeanManager.java:409)
    	at com.sun.faces.mgbean.BeanManager.create(BeanManager.java:269)
    	at com.sun.faces.el.ManagedBeanELResolver.resolveBean(ManagedBeanELResolver.java:244)
    	at com.sun.faces.el.ManagedBeanELResolver.getValue(ManagedBeanELResolver.java:116)
    	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.AstIdentifier.getValue(AstIdentifier.java:99)
    	at com.sun.el.parser.AstValue.getValue(AstValue.java:158)
    	at com.sun.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:219)
    	at com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:109)
    	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:169)
    	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:875)
    	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1763)
    	at javax.faces.render.Renderer.encodeChildren(Renderer.java:168)
    	at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:845)
    	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1756)
    	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1759)
    	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1759)
    	at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:401)
    	at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:131)
    	at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:121)
    	at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
    	at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
    	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:594)
    	at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1539)
    	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:281)
    	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
    	at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:655)
    	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:595)
    	at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:98)
    	at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:91)
    	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:162)
    	at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:330)
    	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:231)
    	at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:174)
    	at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:828)
    	at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:725)
    	at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1019)
    	at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:225)
    	at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)
    	at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)
    	at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)
    	at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79)
    	at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54)
    	at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)
    	at com.sun.grizzly.ContextTask.run(ContextTask.java:71)
    	at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532)
    	at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513)
    	at java.lang.Thread.run(Thread.java:679)
    Caused by: java.lang.IllegalArgumentException: PWC2788: setAttribute: Non-serializable attribute with name userSessionBean
    	at org.apache.catalina.session.ManagerBase.checkSessionAttribute(ManagerBase.java:829)
    	at org.apache.catalina.session.StandardSession.setAttribute(StandardSession.java:1713)
    	at org.apache.catalina.session.StandardSessionFacade.setAttribute(StandardSessionFacade.java:178)
    	at com.sun.faces.context.SessionMap.put(SessionMap.java:141)
    	at com.sun.faces.context.SessionMap.put(SessionMap.java:61)
    	at com.sun.faces.mgbean.BeanManager$ScopeManager$SessionScopeHandler.handle(BeanManager.java:576)
    	at com.sun.faces.mgbean.BeanManager$ScopeManager.pushToScope(BeanManager.java:458)
    	at com.sun.faces.mgbean.BeanManager.createAndPush(BeanManager.java:410)
    	at com.sun.faces.mgbean.BeanManager.create(BeanManager.java:269)
    	at com.sun.faces.el.ManagedBeanELResolver.resolveBean(ManagedBeanELResolver.java:244)
    	at com.sun.faces.el.ManagedBeanELResolver.getValue(ManagedBeanELResolver.java:116)
    	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.AstIdentifier.getValue(AstIdentifier.java:99)
    	at com.sun.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:219)
    	at com.sun.faces.mgbean.BeanBuilder$Expression.evaluate(BeanBuilder.java:591)
    	at com.sun.faces.mgbean.ManagedBeanBuilder$BakedBeanProperty.set(ManagedBeanBuilder.java:606)
    	... 56 more
    aussi j'ai essayé ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    @ManagedProperty(value="#{userSession}")
    ce qui me paraissait logique également...

    Et là, c'est comme avant, les variables que j'ai déclaré dans UserSessionBean restent communes à l'ensemble des sessions ouvertes sur diff ordinateurs.
    Si un 2eme utilisateur se connecte, le premier se retrouve avec le nom d'utilisateur du deuxième... Pas génial


    voilà mon 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
    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
     
    package logic;
     
    import java.beans.*;
    import java.io.Serializable;
    import javax.faces.bean.ManagedBean;
    import java.util.ArrayList;
    import java.util.Collections;
    import javax.annotation.PostConstruct;
    import javax.ejb.EJB;
    import javax.faces.bean.ManagedProperty;
    import javax.faces.bean.SessionScoped;
    import model.ptvte;
    import routines.routines;
     
     
    @ManagedBean
    @SessionScoped
     
     
     
     
     
     
     
    /**
     *
     * @author jm
     */
     
     
     
     
    public class LoginVenteCatalogManager implements Serializable {
     
     
        UserSessionBean userSession;
     
        @EJB private ptvteFacade ptvtefacade;
     
        @ManagedProperty(value="#{userSession}")
     
     
     
     
        private ArrayList<ptvte> arListPtvte = new ArrayList<ptvte>();
        private String transLoginNom, transLoginPwd,login, lUser;
     
        private boolean enabled, grpEnabled;
     
     
     
     
        public void setArListPtvte(ArrayList<ptvte> arListPtvte) {
           this.arListPtvte = arListPtvte; 
        }
     
        public ArrayList<ptvte> getArListPtvte(){
            return arListPtvte;
        }
     
        public void setTransLoginNom(String transLoginNom) {
           this.transLoginNom = transLoginNom; 
        }
        public String getTransLoginNom(){
            return transLoginNom;
        }
     
        public void setLUser(String user) {
           this.lUser = user; 
        }
        public String getLUser(){
            return lUser;
        }
     
        public void setLogin(String login) {
           this.login = login; 
        }
        public String getLogin(){
            return login;
        }
     
        public void setTransLoginPwd(String transLoginPwd) {
           this.transLoginPwd = transLoginPwd; 
        }
        public String getTransLoginPwd(){
            return transLoginPwd;
        }
     
        public void setEnabled(boolean enabled) {
           this.enabled = enabled; 
        }
        public boolean getEnabled(){
            return enabled;
        }
     
        public void setGrpEnabled(boolean grpEnabled) {
           this.grpEnabled = grpEnabled; 
        }
        public boolean getGrpEnabled(){
            return grpEnabled;
        }
     
        public static final String PROP_SAMPLE_PROPERTY = "sampleProperty";
        private String sampleProperty;
        private PropertyChangeSupport propertySupport;
     
        public LoginVenteCatalogManager() {
            propertySupport = new PropertyChangeSupport(this);
        } 
     
        public String getSampleProperty() {
            return sampleProperty;
        }
     
        public void setSampleProperty(String value) {
            String oldValue = sampleProperty;
            sampleProperty = value;
            propertySupport.firePropertyChange(PROP_SAMPLE_PROPERTY, oldValue, sampleProperty);
        }
     
        public void addPropertyChangeListener(PropertyChangeListener listener) {
            propertySupport.addPropertyChangeListener(listener);
        }
     
        public void removePropertyChangeListener(PropertyChangeListener listener) {
            propertySupport.removePropertyChangeListener(listener);
        }
     
        public void rlValid(){
            Integer ptf=1;
            ptvte lecture;
            do {
            lecture=ptvtefacade.find(ptf);
            if ((lecture.ptvtenom.equals(transLoginNom)) & (lecture.ptvtemdp.equals(transLoginPwd)))
              {
     
                transLoginNom="";
                transLoginPwd="";
     
                ptf=-1;
                userSession.user=lecture.ptvtenom;
                userSession.tUser=lecture.ptvtetype;
                lUser=lecture.ptvtelibelle;
                login=lecture.ptvtenom;
                if (enabled) enabled=false; else enabled=true;
                grpEnabled=true; 
     
              }
            ptf=ptf+1;
            } while (ptvtefacade.find(ptf)!=null);
        }
     
        public void Valid(){
            enabled=false;
            if (("G".equals(userSession.tUser)) ^ ("R".equals(userSession.tUser)))  grpEnabled=false;        
        }
     
        @PostConstruct
            public void initLoginVente(){
            enabled=false;
            grpEnabled=false;
     
     
        }
        }

    J'ai essayé plusieurs variante :

    ou bien
    mais bof, sans effet...

    Merci encore de votre aide !

  11. #11
    Membre Expert
    Avatar de fxrobin
    Homme Profil pro
    Architecte SI, Java Fan, API Manager
    Inscrit en
    Novembre 2007
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte SI, Java Fan, API Manager
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2007
    Messages : 875
    Par défaut
    Tu n'as pas mis l'annotation au bon endoit.
    Elle doit précéder la déclaration de ta variable.

    tu devrais donc avoir :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     @ManagedProperty(value="#{userSession}")
     UserSessionBean userSession;
     
     @EJB private ptvteFacade ptvtefacade;

    Le message d'erreur "Impossible de définir la propriété «arListPtvte»" était assez explicite

  12. #12
    Membre confirmé
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Janvier 2012
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Janvier 2012
    Messages : 56
    Par défaut
    maintenant, il m'indique l'erreur suivante à l'exécution :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Impossible de créer le bean géré loginVenteCatalogManager. Les problèmes suivants ont été détectés : - La propriété userSession du bean géré loginVenteCatalogManager nexiste pas.

  13. #13
    Membre Expert
    Avatar de fxrobin
    Homme Profil pro
    Architecte SI, Java Fan, API Manager
    Inscrit en
    Novembre 2007
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte SI, Java Fan, API Manager
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2007
    Messages : 875
    Par défaut
    bah il te faut des getters / setter en "public" sur ton attribut "userSession"

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

Discussions similaires

  1. Réinitialiser une application
    Par alain31tl dans le forum Flex
    Réponses: 4
    Dernier message: 17/04/2009, 16h12
  2. Réinitialiser l'application avec du code VBA
    Par guestCam dans le forum VBA Access
    Réponses: 1
    Dernier message: 13/08/2008, 18h39
  3. Problème avec les pages applicatives ASPX
    Par Vincent Dieudonné dans le forum SharePoint
    Réponses: 2
    Dernier message: 27/07/2007, 11h18
  4. page application aspx pour formulaire de liste
    Par Vincent Dieudonné dans le forum SharePoint
    Réponses: 2
    Dernier message: 24/07/2007, 13h27
  5. Réinitialiser son application comme à l'ouverture
    Par pierrot67 dans le forum Bases de données
    Réponses: 3
    Dernier message: 19/02/2007, 18h44

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