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 :

Gérer des sessions


Sujet :

JSF Java

  1. #1
    Membre Expert Avatar de nathieb
    Homme Profil pro
    DevOps
    Inscrit en
    Mai 2004
    Messages
    1 058
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : DevOps
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 058
    Par défaut Gérer des sessions
    Bonjour,

    voila, je suis en peu perplexe, je me pose des questions sur comment gérer proprement un état dans JSF2.
    En gros je cherche à gérer une sorte de session, je sais qu'il existe l'objet HTTPSession mais on peut aussi travailler avec les managedBean
    et l'injection d'un ManagedBean dans un autre en déclarant SessionScope dans le premier. Je ne vois pas bien la différence ?
    Comment faites vous ?

    Par ailleurs, j'ai un problème quand je passe d'un page à l'autre.
    J'ai un Bean, qui doit gérer ma session

    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
     
    @ManagedBean(name="ConfigurationSession")
    @SessionScoped
    public class ConfigurationSession {
     
        private String degre;
     
     
        /**
         * Creates a new instance of ConfigurationSession
         */
        public ConfigurationSession() {
        }
         public String getDegre() {
            return degre;
        }
     
        public void setDegre(String degre) {
            this.degre = degre;
        }
    }
    je vais de la page choix.xhtml à la page question.xhtml
    la première injecte ce bean session avec

    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
     
    public class ChoiceManagedBean implements Serializable{
     
        String degreitems;
     
        @ManagedProperty(value = "#{configurationSession}")
        ConfigurationSession configsession;
     
     
     
        @EJB
        ConfigurationSessionBeanLocal config;
     
        /**
         * Creates a new instance of ChoiceManagedBean
         */
        public ChoiceManagedBean() {
     
        }
        @PostConstruct
        public void init(){
            configsession = new ConfigurationSession();
        }
        public ConfigurationSession getConfigsession() {
            return configsession;
        }
     
        public void setConfigsession(ConfigurationSession configsession) {
            this.configsession = configsession;
        }
    ...
     public void changedegre() {
            System.out.println("la question " + this.degreitems);
            String outcome = null;
     
            if("degre1".equals(this.degreitems)){
                outcome = "coreTemplateClient";
                configsession.setDegre("deg1");
            }
            if("degre2".equals(this.degreitems)){
                outcome = "coreTemplateClient";
                configsession.setDegre("deg2");
            }
            if(outcome!=null){
                System.out.println("Redirection");
                FacesContext context = FacesContext.getCurrentInstance();
                NavigationHandler navigationHandler = context.getApplication()
                        .getNavigationHandler();
                navigationHandler.handleNavigation(context, null, outcome
                        + "?faces-redirect=true");
            }else{
                String message = "Vous devez choisir un degré !!";
                System.out.println("message erreur");
                FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(message));
            }
        }
    apparemment cela fonctionne mais quand je passe de la page choix à question entre deux j'ai la méthode
    changedegre, qui fonctionne et qui redirige vers la page question, le pb arrive quand dans la page question
    je veux récupérer mon bean session ....


    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
     
    public class QuestionnaireControler {
     
        private String theme;
        public String question;
     
     
        private Map<String,String> questions;
        private List<SelectItem> questionsitems;
        private List<EticQuestions> listeQuestionsLocal;
        private EticQuestions questionLocal;
        private boolean themeactif=true;
     
     
        ConfigurationSession configsession;
     
     
        private String intitule ="Ajouter un thème";
        /**
         * Creates a new instance of QuestionnaireControler
         */
        public QuestionnaireControler() {
           questionLocal =  new EticQuestions();
           questionLocal.setLibelleQuestion("Saisir votre intitulé");
        }
        @PostConstruct
        public void init(){
            configsession = new ConfigurationSession();
            configsession = findBean("configurationSession");
            System.out.println(" config "+ configsession.getDegre());
        }
        @SuppressWarnings("unchecked")
            public static <T> T findBean(String beanName) { /** Récupéré de Balusc C*/
            FacesContext context = FacesContext.getCurrentInstance();
            return (T) context.getApplication().evaluateExpressionGet(context, "#{" + beanName + "}", Object.class);
        }
        /**
         * Inject ManagedBean dans la session
         * @return 
         */
        public ConfigurationSession getConfigsession() {
            return configsession;
        }
     
        public void setConfigsession(ConfigurationSession configsession) {
            this.configsession = configsession;
        }
    J'ai le code d'erreur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Caused by: java.lang.reflect.InvocationTargetException
        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 org.glassfish.faces.integration.GlassFishInjectionProvider$2.run(GlassFishInjectionProvider.java:382)
        ... 81 more
    Caused by: java.lang.NullPointerException
        at open.ged.jsf.QuestionnaireControler.init(QuestionnaireControler.java:58)
        ... 86 more
    Voili voilou

    Olivier

  2. #2
    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
    Pourquoi n'as-tu pas mis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    @ManagedProperty(value = "#{configurationSession}")
    ConfigurationSession configsession;
    dans QuestionnaireControler ?
    Ce n'est pas un ManagedBean ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre Expert Avatar de nathieb
    Homme Profil pro
    DevOps
    Inscrit en
    Mai 2004
    Messages
    1 058
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : DevOps
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 058
    Par défaut Je viens de comprendre
    Bonjour,

    Oui effectivement, je m'y suis mal pris, maintenant le code fonctionne avec l'injection, mais toujours rien en session !!!
    comprends pas. j'écume toutes les réponses de forum mais je ne vois pas de différence avec mon code.
    l'injection semble fonctionné, mais l'objet est vide
    C'est comme si je perdais ma session après la redirection, je vous donne le code corrigé.

    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
     
    package open.ged.jsf;
     
    import com.open.survey.oracle.service.ConfigurationSessionBeanLocal;
    import java.io.Serializable;
    import javax.annotation.PostConstruct;
    import javax.ejb.EJB;
    import javax.faces.application.FacesMessage;
    import javax.faces.application.NavigationHandler;
    import javax.faces.bean.ManagedBean;
    import javax.faces.bean.ManagedProperty;
    import javax.faces.bean.RequestScoped;
    import javax.faces.context.FacesContext;
    import open.session.entities.ConfigurationSession;
     
    /**
     *
     * @author Olivier Thiébaut
     */
    @ManagedBean(name="ChoiceManagedBean")
    @RequestScoped
    public class ChoiceManagedBean implements Serializable{
     
        String degreitems;
     
        @ManagedProperty(value = "#{configurationSession}")
        ConfigurationSession configsession;
     
     
     
        @EJB
        ConfigurationSessionBeanLocal config;
     
        /**
         * Creates a new instance of ChoiceManagedBean
         */
        public ChoiceManagedBean() {
     
        }
        @PostConstruct
        public void init(){
            configsession = new ConfigurationSession();
        }
        public ConfigurationSession getConfigsession() {
            return configsession;
        }
     
        public void setConfigsession(ConfigurationSession configsession) {
            this.configsession = configsession;
        }
        public String choixPage() {
            return "choice.xhtml";
        }
     
        public String getDegreitems() {
            return degreitems;
        }
     
        public void setDegreitems(String degreitems) {
            this.degreitems = degreitems;
        }
     
        public void changedegre() {
            System.out.println("la question " + this.degreitems);
            String outcome = null;
     
            if("degre1".equals(this.degreitems)){
                outcome = "coreTemplateClient";
                configsession.setDegre("deg1");
            }
            if("degre2".equals(this.degreitems)){
                outcome = "coreTemplateClient";
                configsession.setDegre("deg2");
            }
            System.out.println("Enregistrement : " + configsession.getDegre());
            if(outcome!=null){
                System.out.println("Redirection");
                FacesContext context = FacesContext.getCurrentInstance();
                NavigationHandler navigationHandler = context.getApplication()
                        .getNavigationHandler();
                navigationHandler.handleNavigation(context, null, outcome
                        + "?faces-redirect=true");
            }else{
                String message = "Vous devez choisir un degré !!";
                System.out.println("message erreur");
                FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(message));
            }
        }
    }
    c'est le managedbean de la page choix, la redirection fonctionne, normalement je dois retrouver soit deg1 ou deg2, dans la session après redirection
    mais ....

    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
     
    package open.ged.jsf;
     
    import com.open.survey.oracle.EticLogs;
    import com.open.survey.oracle.EticQuestions;
    import com.open.survey.oracle.EticThemes;
    import com.open.survey.oracle.service.EticLogsFacadeLocal;
    import com.open.survey.oracle.service.EticQuestionsFacadeLocal;
    import com.open.survey.oracle.service.EticThemesFacadeLocal;
    import java.io.Serializable;
    import java.util.LinkedHashMap;
    import java.util.List;
    import java.util.Map;
    import javax.annotation.PostConstruct;
    import javax.ejb.EJB;
    import javax.faces.bean.ManagedBean;
    import javax.faces.bean.ManagedProperty;
    import javax.faces.bean.RequestScoped;
    import javax.faces.context.FacesContext;
    import javax.faces.model.SelectItem;
    import open.session.entities.ConfigurationSession;
     
    /**
     *
     * @author olivier
     */
    @ManagedBean(name = "QuestionnaireControler")
    @RequestScoped
    public class QuestionnaireControler implements Serializable {
     
        private String theme;
        public String question;
     
     
        private Map<String,String> questions;
        private List<SelectItem> questionsitems;
        private List<EticQuestions> listeQuestionsLocal;
        private EticQuestions questionLocal;
        private boolean themeactif=true;
     
        @ManagedProperty("#{configurationSession}") <-- injection qui semble fonctionnée mais retourne rien qaund je fais getDegre
        ConfigurationSession configsession;
     
        @EJB
        EticLogsFacadeLocal eticlog;
        /*@EJB
        FaitEtabBeanLocal eticfait;*/
        @EJB
        EticQuestionsFacadeLocal eticquestions;
        @EJB
        EticThemesFacadeLocal eticthemes;
     
        private String intitule ="Ajouter un thème";
        /**
         * Creates a new instance of QuestionnaireControler
         */
        public QuestionnaireControler() {
           questionLocal =  new EticQuestions();
           questionLocal.setLibelleQuestion("Saisir votre intitulé");
        }
     
        @PostConstruct
        public void init(){
            System.out.println(" Initialisation "+ configsession.getDegre()); --> me renvoie null ???
        }
     
        /**
         * Inject ManagedBean dans la session
         * @return 
         */
        public ConfigurationSession getConfigsession() {
            return configsession;
        }
     
        public void setConfigsession(ConfigurationSession configsession) {
            this.configsession = configsession;
        }
        /**
         * Method setTheme
         * @param theme 
         */
        public void setTheme(String theme) {
            this.theme = theme;
        }
     
        public String getTheme() {
            return theme;
        }
        public String getQuestion() {
            return question;
        }
     
         public boolean isThemeactif() {
            return themeactif;
        }
     
        public void setThemeactif(boolean themeactif) {
            this.themeactif = themeactif;
        }
     
        public String getButtonTheme(){
     
            if(this.getTheme()!= null){
               intitule = "Modifier le thème";
            }
            return intitule; 
        }
        /**
         * 
         * @param buttontheme 
         */
        public void setButtonTheme(String buttontheme){
            this.intitule = buttontheme;
        }
        /**
         * Mise à jour d'une question
         * @param question 
         */
        public void setQuestion(String question) {
            this.question = question;
        }
        public List<EticQuestions> getListeQuestionsLocal() {
            return listeQuestionsLocal;
        }
     
        public void setListeQuestionsLocal(List<EticQuestions> listeQuestionsLocal) {
            this.listeQuestionsLocal = listeQuestionsLocal;
        }
        /**
        Génération et stockage pour une question
        */
        public EticQuestions getQuestionLocal() {
            return questionLocal;
        }
     
        public void setQuestionLocal(EticQuestions questionLocal) {
            this.questionLocal = questionLocal;
        }
     
     
        public String getCreateTheme(){
           //check if null?
           if("".equals(theme) || theme ==null){
            return "";
           }else{
            return "Création du thème " + theme;
           }
        }
     
        public void QuestionsMap(){
            questions = new LinkedHashMap<String, String>();
            questions.put("Radio bouton, choix unique", "essai 1");
            questions.put("Questions à choix multiples", "essai 2");
            questions.put("Questions avec champ texte", "essai 3");
            List<EticLogs> logslocal = eticlog.findAll();
            for (EticLogs eticLogs : logslocal) {
                System.out.println(eticLogs.getEmail());
            }
            /*eticfait.getCube();*/
        }
        public void setQuestionsitems(List<SelectItem> questionsitems) {
            this.questionsitems = questionsitems;
        }
        /**
         * Methode pour l'affichage des options
         * @return List<SelectItem>
         */
        public Map<String,String> getQuestionsitems() {
            this.QuestionsMap();
            return questions;
        }
        public void changeQuestion(){
            System.out.println("la question "+this.question);
        }
        public String getSayWelcome(){
           //check if null?
           if("".equals(theme) || theme ==null){
            return "";
           }else{
            return "Thème : " + theme;
           }
        }
        /**
         * Récupération de toute la liste des questions
         * On utilise un datable de primefaces pour l'affichage des données.
         * @return List<EticQuestions>
         */
        public List<EticQuestions> getQuestionsList(){
            return eticquestions.findAll();
        }
        /**
         * Retourne la liste des themes, pour un tableau
         * @return List<EticThemes>
         */
        public List<EticThemes> getThemesList(){
            System.out.println(" config session " + configsession.getDegre());
            return eticthemes.findAllByDegre("deg1");
        }
     
    }
    et enfin le bean session

    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
     
    package open.session.entities;
     
    import java.io.Serializable;
    import javax.faces.bean.ManagedBean;
    import javax.faces.bean.SessionScoped;
     
     
    /**
     *
     * @author olivier Thiébaut
     */
    @ManagedBean(name="configurationSession",eager = true)
    @SessionScoped
    public class ConfigurationSession implements Serializable {
     
        private String degre;
     
     
        /**
         * Creates a new instance of ConfigurationSession
         */
        public ConfigurationSession() {
        }
         public String getDegre() {
            return degre;
        }
     
        public void setDegre(String degre) {
            this.degre = degre;
        }
    }
    qui est bien sérialisable, c'est comme si il effaçait le setdegre()

    Voila mes logs


    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
    Infos:   la question degre1
    Infos:   Enregistrement : deg1 <-- il enregistre dans ChoiceManagedBean
    Infos:   Redirection
    Infos:   END PHASE INVOKE_APPLICATION 5
    Infos:   START PHASE RESTORE_VIEW 1
    Infos:   END PHASE RESTORE_VIEW 1
    Infos:   START PHASE RENDER_RESPONSE 6
    Infos:   Initialisation null <-- plus rien ................
    Infos:   config session null
    Infos:   taille : 7
    Infos:   EJB : 1
    Infos:   EJB : 2
    Infos:   EJB : 3
    Infos:   EJB : 4
    Infos:   EJB : 5
    Infos:   EJB : 6
    Infos:   EJB : 7
    Infos:   config session null
    Infos:   taille : 7
    Infos:   EJB : 1
    Infos:   EJB : 2
    Infos:   EJB : 3
    Infos:   EJB : 4
    Infos:   EJB : 5
    Infos:   EJB : 6
    Infos:   EJB : 7
    Infos:   config session null
    Infos:   taille : 7
    Infos:   EJB : 1
    Infos:   EJB : 2
    Infos:   EJB : 3
    Infos:   EJB : 4
    Infos:   EJB : 5
    Infos:   EJB : 6
    Infos:   EJB : 7
    Infos:   config session null
    Infos:   taille : 7
    Infos:   EJB : 1
    Infos:   EJB : 2
    Infos:   EJB : 3
    Infos:   EJB : 4
    Infos:   EJB : 5
    Infos:   EJB : 6
    Infos:   EJB : 7E]


    Olivier

  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
    Difficile de dire comme ça ce qui coince

    Je te suggère de mettre un point d'arrêt dans le setter (setDegre) et voir quand il est appelé, je suppose qu'il y un appel qui le remet à null...
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre Expert Avatar de nathieb
    Homme Profil pro
    DevOps
    Inscrit en
    Mai 2004
    Messages
    1 058
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : DevOps
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 058
    Par défaut oui effectivement
    Bonjour,

    Oui effectivement, j'en perd mon latin, je regarde du côté de ma config, mais je ne vois rien.
    Je crois qu'il faut que je passe en mode debug, mais là c'est une autre histoire ...



    Olivier

  6. #6
    Membre Expert Avatar de nathieb
    Homme Profil pro
    DevOps
    Inscrit en
    Mai 2004
    Messages
    1 058
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : DevOps
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 058
    Par défaut Dans la famille boulet
    Bonjour,

    Les mauvaise habitudes sont tenaces.
    Effectivement en passant en mode debug, j'ai vu deux instances de mon objet !!! surprise.

    quand tu reprends mon code, tu t'aperçois qu'il y une grosse erreur ....

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    
    @PostConstruct
        public void init(){
            configsession = new ConfigurationSession();
        }
    Donc j'avais deux pointeurs, il récupérait le deuxième .....
    Tu m'as mis sur la piste.

    A force de faire des print_r en PHP de ..... je ne veux être insultant, on oubli
    qu'en JAVA on a le mode DEBUG ....

    Olivier

  7. #7
    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
    Citation Envoyé par nathieb Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    
    @PostConstruct
        public void init(){
            configsession = new ConfigurationSession();
        }
    Donc j'avais deux pointeurs, il récupérait le deuxième .....
    En fait, tu récupérais l'objet en session (parce que c'est fait avant le @PostConstruct) et tu l'écrasais par une nouvelle instance dans ton bean en scope request, du coup, tu ne mettais pas à jour celle en session

    Bon, c'est réglé, c'est l'essentiel
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

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

Discussions similaires

  1. Gérer des profils différents avec des sessions PhP
    Par phildur dans le forum Langage
    Réponses: 4
    Dernier message: 08/03/2011, 16h47
  2. Réponses: 5
    Dernier message: 21/08/2007, 12h17
  3. [tomcat] gestion des sessions
    Par sebos63 dans le forum Tomcat et TomEE
    Réponses: 2
    Dernier message: 12/10/2004, 14h25
  4. Comment (si possible) gérer des dll en Asm?
    Par @drien dans le forum x86 32-bits / 64-bits
    Réponses: 5
    Dernier message: 06/01/2004, 15h59
  5. Une unité pour gérer des très grands nombres
    Par M.Dlb dans le forum Langage
    Réponses: 2
    Dernier message: 09/09/2003, 12h07

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