2011-10-19 4 views
0

J'ai un include jsp sur toutes mes pages qui inclut des fichiers js, des fichiers css, etc. Cela inclut jsp fait également référence à la session avec "".Comment vérifier une session valide dans Struts 2 jsp?

Sur la dernière page de mon application, l'action effectue un session.invalidate sur l'objet HttpSession.

Ainsi, lorsque la dernière la dernière page de mon application apparaît et exécute le « », je reçois l'erreur suivante depuis la session est invalidée

2011-10-19 10: 30: 59134 WARN com. opensymphony.xwork2.ognl.OgnlValueStack - Pris une exception lors de l'évaluation de l'expression '# session.user.isWhatever()' par rapport à la pile de valeurs java.lang.IllegalStateException: getAttribute: Session déjà invalidée at org.apache.catalina.session.StandardSession .getAttribute (StandardSession.java:1062) at org.apache.catalina.session.StandardSessionFacade.getAttribute (StandardSessionFacade.java:110) à org.apache.struts2.dispatcher.SessionMap.get (SessionMap.java:165) à ognl.MapPropertyAccessor.getProperty (MapPropertyAccessor.java:76)

J'ai essayé "#SESSION NEQ null" pour arrêter la erreur d'apparaître mais cela ne fonctionne pas.

Existe-t-il une condition ou une condition à utiliser pour arrêter cette erreur? Comment vérifie-t-on si la session est valide dans le jsp dans Struts 2?

Répondre

0

Vérifiez la présence d'une valeur de session connue - dans votre cas, #session.user. Vous ne devriez pas avoir à faire une vérification nulle explicite, IIRC (pourrait être faux). Selon la façon dont les choses fonctionnent réellement dans votre application, vous pouvez également vérifier isNew, bien que cela semble ne pas être nécessaire. La session ne sera "jamais" nulle - à moins d'instructions contraires explicites, le simple fait de cliquer sur une page JSP en créera une.