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

Servlets/JSP Java Discussion :

Problème avec les attributs de la session


Sujet :

Servlets/JSP Java

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 62
    Points : 38
    Points
    38
    Par défaut Problème avec les attributs de la session
    Bonjour,

    J'utilise le framework Struts et dans ma classe Action, je mets des attributs dans la session. En fonciton de la valeur des attributs, je souhaite afficher des messages différents dans ma page JSP.


    Voici le code de ma classe Java :

    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
    if (e1.getCode().equals(1)  || e1.getCode().equals(2)) 
                    {
                       request.setAttribute("messageErreurBloquante", "messageErreurBloquante");
                        request.getSession().setAttribute("erreurBloquante", "true");
                        request.getSession().setAttribute("erreur", "erreurBloquante");
                        request.getSession().setAttribute("codeErreur", e1.getCode());
                        request.getSession().setAttribute("libelleErreur", e1.getLibelle());
                        erreurBloquante = true;
                        forward = MAPPING_SELECT_CRIT_STATS_INIT;
     
                        UtilLogger.traceErreur(trace, e1);
                    }
                   else if (e1.getCode().equals(3)  || e1.getCode().equals(4))
                    {
                        request.setAttribute("messageErreurBloquante", messageErreurBloquante");
                        request.getSession().setAttribute("erreurBloquante", "true");
                        request.getSession().setAttribute("erreur", "erreurNonBloquante");
                        request.getSession().setAttribute("codeErreur", e1.getCode());
                        request.getSession().setAttribute("libelleErreur", e1.getLibelle());
     
                        erreurBloquante = true;
     
                        forward = MAPPING_SELECT_CRIT_STATS_INIT;
                    }
                    else
                    {
                        // Autre erreur 
                        request.setAttribute("messageErreurBloquante", messageErreurBloquante");
                        request.getSession().setAttribute("erreurBloquante", "true");
                        request.getSession().setAttribute("erreur", "erreurAucuneTrace");
                        request.getSession().removeAttribute("codeErreur");
                        request.getSession().removeAttribute("libelleErreur");
     
                        erreurBloquante = true;
     
                        forward = MAPPING_SELECT_CRIT_STATS_INIT;
                    }



    Le code de ma JSP :


    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
     
    <logic:equal name="erreur" value="erreurBloquante">
                          <script> erreur="erreurBloquante";</script>
                          <div class="cssFormulaireTitre">
                              <small>
                                  <span style="margin-left:30px;"><bean:message key="erreur.bloquante.message" /></span><br>
                                  <span style="margin-left:30px;"><bean:message key="erreur.bloquante.messagesuite" /></span>
                              </small>
                          </div>
                      </logic:equal>
     
                      <logic:equal name="erreur" value="erreurNonBloquante">
                          <script> erreur="erreurNonBloquante";</script>
                          <div class="cssFormulaireTitre">
                              <small>
                                  <span style="margin-left:30px;"><bean:message key="erreur.nonbloquante.message" /></span><br>
                              </small>
                          </div>
                      </logic:equal>
     
                      <logic:equal name="erreur" value="erreurAucuneTrace">
                          <script> erreur="erreurNonBloquante";</script>
                          <div class="cssFormulaireTitre">
                              <small>
                                  <span style="margin-left:30px;"><bean:message key="erreur.aucunetrace.message" /></span><br>
                              </small>
                          </div>
                      </logic:equal>

    Sous Firefox tout fonctionne très bien. Les messages obtenus correspondent au résutlat attendu en fonction de l'erreur.

    Cependant sous IE, j'ai un gros souci de "persistance" des valeurs des attributs, car lorsque ma page d'erreur est affiché une première fois, j'ai les bons messages. Si je relance mon action pour obtenir un message différent, c'est toujours le premier message qui s'affiche.


    J'ai cherché un peu partout la différence de comportement enter IE et firefox mais je n'ai rien trouvé.

    Merci d'avance pour votre aide,

  2. #2
    Membre chevronné
    Homme Profil pro
    Dév. Java & C#
    Inscrit en
    Octobre 2002
    Messages
    1 414
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Dév. Java & C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 414
    Points : 1 996
    Points
    1 996
    Par défaut
    Bonjour,

    Probablement un problème de cache.
    Ton action est faite à l'aide d'un GET ou d'un POST.

    Si c'est un GET, essaie de relancer ton action avec un paramètre possédant une valeur qui change entre deux appels.

    URL = monAction.do?_=<TimeStampEnMilliSeconde>

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 62
    Points : 38
    Points
    38
    Par défaut Méthode POST
    Je pense aussi que c'est un problème de cache.
    j'ai essayé d'ajouter des balises META au début de ma page JSP, mais ca ne change rien.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <META HTTP-EQUIV="EXPIRES" CONTENT="0">
    <META HTTP-EQUIV="PRAGMA" CONTENT="NO-CACHE">

    Mon action est faite avec un POST.

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 62
    Points : 38
    Points
    38
    Par défaut
    J'ai réussi à résoudre le problème de cache sous IE avec le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <META HTTP-EQUIV="EXPIRES" CONTENT="0">
    <META HTTP-EQUIV="PRAGMA" CONTENT="NO-CACHE">
    <META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE">
    <META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-STORE">
    <% 
    response.setHeader("Cache-Control","no-cache"); 
    response.setHeader("Cache-Control","no-store");
    response.setHeader("Pragma","no-cache"); 
    response.setHeader ("Expires", "0"); 
    %>

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

Discussions similaires

  1. [AJAX] XML avec les attributs
    Par gdiamond dans le forum AJAX
    Réponses: 0
    Dernier message: 28/10/2011, 18h42
  2. Problème avec les attributs body
    Par mnem0 dans le forum Web
    Réponses: 16
    Dernier message: 11/02/2008, 03h10
  3. [SAXON & XQUERY] Problème avec les attributs
    Par CynO dans le forum Format d'échange (XML, JSON...)
    Réponses: 1
    Dernier message: 18/04/2007, 21h05
  4. [Custom Tags 2.0] Problème avec les attributs
    Par uliss dans le forum Taglibs
    Réponses: 1
    Dernier message: 12/02/2006, 22h31
  5. Problème avec les sessions
    Par philippef dans le forum Langage
    Réponses: 2
    Dernier message: 27/10/2005, 15h19

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