nikos dimitrakas created WW-5297:
------------------------------------
Summary: Decorator not working after invalidating session
Key: WW-5297
URL: https://issues.apache.org/jira/browse/WW-5297
Project: Struts 2
Issue Type: Bug
Components: Core Tags, Plugin - SiteMesh
Affects Versions: 6.1.2
Reporter: nikos dimitrakas
When trying to upgrade from 2.5 to 6.1.2 I get a strange behaviour when
decorating a jsp.
I have an action that is used to log out a user. The action is basically only
invalidating the session and then goes to the jsp. One of the interceptors is
using sitemesh and applies the specified decorator.
With Struts 2.5 this worked fine. But with Struts 6.1.2 (probably all the 6.x)
I get an error "Session already invalidated" when getAttribute is called from
org.apache.struts2.dispatcher.SessionMap. Here is the relevant part of the
stacktrace:
Caused by: java.lang.IllegalStateException: getAttribute: Session already
invalidated
at
org.apache.catalina.session.StandardSession.getAttribute(StandardSession.java:1148)
at
org.apache.catalina.session.StandardSessionFacade.getAttribute(StandardSessionFacade.java:102)
at org.apache.struts2.dispatcher.SessionMap.get(SessionMap.java:157)
at org.apache.struts2.components.UIBean.evaluateParams(UIBean.java:879)
at org.apache.struts2.components.Head.evaluateParams(Head.java:71)
at org.apache.struts2.components.UIBean.end(UIBean.java:550)
at
org.apache.struts2.views.jsp.ComponentTagSupport.doEndTag(ComponentTagSupport.java:40)
There is nothing about this changed behaviour in the migration guide from
Struts 2.5 to 6. Is this a bug introduced in 6.x? Or is this by design?
>From what I can see, the error occurs when an s:head inside the decorator is
>evaluated.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)