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

Struts 2 Java Discussion :

Sauvegarder une variable en session


Sujet :

Struts 2 Java

  1. #1
    Membre averti
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    593
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2011
    Messages : 593
    Points : 353
    Points
    353
    Par défaut Sauvegarder une variable en session
    Bonjour,

    Après l'authentification de mon utilisateur, je mets le code suivant dans la méthode execute() de mon action.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    public class EcomAction extends ActionSupport {
         @Override
         public String execute(){
                   User user = authentification();
                   ActionContext.getContext().getSession().put("USER", user);
                   return  SUCCESS;
         }
    }
    Dans ma JSP, quand j'utilise ${user.nom}, ça s'affiche. Mais il suffit que je passe à une autre JSP pour que je perde cette information. Comment faire pour sauvegarder une variable en session?

    Merci!

  2. #2
    Membre averti
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    593
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2011
    Messages : 593
    Points : 353
    Points
    353
    Par défaut
    Dans mes JSP, j'ai mis le code suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <%User user = (User)session.getAttribute("USER");
                        if (user != null)
                        System.out.println(user.getFirstName()+" _____________________________");else
            System.out.println("nulllllllllllllllllllllllll");%>
    je me rends compte que user n'est jamais null, la donnée s'enregistre bien en session, par contre ça s'affiche pas sur les JSP. Je pense que c'est un problème de scope, une idée?

  3. #3
    Membre averti
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    593
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2011
    Messages : 593
    Points : 353
    Points
    353
    Par défaut
    C'était bien un problème de Scope. Du coup, côté JSP, j'ai utilisé la balise <jsp:useBean> pour pouvoir déterminer le scope en session. Ceci est le bout de code pour l'authentification côté JSP:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <c:choose>
                            <c:when test="${empty user}">
                                <a href="connection.jsp"><img src="pages/img/btn_haut_connexion.png"/></a>
                                </c:when>
                                <c:otherwise>
                                    <jsp:useBean id="user" scope="session" class="com.User" />
                                    Bonjour <a href="moncompte.jsp"><s:property value="#session['USER'].firstName" /> <s:property value="#session['USER'].lastName" /></a>
                                    <s:form action="disconnection" namespace="/">
                                        <s:submit value="Déconnexion" />
                                    </s:form>
                            </c:otherwise>
                        </c:choose>
    Ca marche, user.lastName et user.FirstName s'affichent toujours. Problème: c'est quand je clique sur la déconnexion, et bien user n'est pas null côté JSP, bien que côté action j'enlève la variable de la session.Une idée de comment faire?

Discussions similaires

  1. Réponses: 4
    Dernier message: 14/12/2005, 08h33
  2. [C#] ArrayList dans une variable de session ?
    Par Oberown dans le forum ASP.NET
    Réponses: 1
    Dernier message: 12/12/2005, 15h50
  3. Réponses: 3
    Dernier message: 11/11/2005, 12h59
  4. [C#] Tester existence d'une variable de session
    Par IDNoires dans le forum ASP.NET
    Réponses: 2
    Dernier message: 31/12/2004, 12h30
  5. Création d'une variable de session avec un ID
    Par PrinceMaster77 dans le forum ASP
    Réponses: 4
    Dernier message: 18/10/2004, 10h28

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