You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@struts.apache.org by Samuel Robert <sa...@gmail.com> on 2012/02/27 14:33:03 UTC

[Struts2] session variable empty in the JSP

Hi,

I faced few days ago a problem with the session variable in the JSP. I
posted the problem here but did not get any solution:
http://stackoverflow.com/questions/9381991/session-variable-empty-in-the-jsp-on-first-access-in-a-struts2-spring-applicatio

Perhaps some of you have an idea.

Basically the session variable in the JSP is empty on the first call to my
action (when the session gets initialized).
That means that my JSP fails to retrieve any information from the session
in the Struts tags on the first display.
>From the second call it is OK.

I have checked that the session is correctly initialized in the JSP. The
problem comes only with the session variable in the struts tags.

<% System.out.println(((my.bean.SessionBean)session.getAttribute("context")).getProfiles());
%> => OK

<s:property value="%{#session}"/> => KO (empty)

${session} => KO


I solved it by adding an additional redirectAction on the first access
(when I detect that it is a new session).
But I wonder why I get such a problem, which I never had before.

Thanks,
Samuel

Re: [Struts2] session variable empty in the JSP

Posted by Samuel Robert <sa...@gmail.com>.
I have tried but it did not help.
I have tried also by defining the action as a bean and populating the
"context" bean in the Spring configuration file (with the Struts Spring
plugin).
But the same error comes.

I guess I will pursue with my solution of redirecting to another action on
the first call.

Thanks,
Samuel

On 27 February 2012 20:13, Gabriel Belingueres <be...@gmail.com>wrote:

> You are lacking the <aop:scoped-proxy/> in the bean definition. See
> the following link:
>
>
> http://static.springsource.org/spring/docs/3.0.7.RELEASE/spring-framework-reference/html/beans.html#beans-factory-scopes-other-injection
>
> HTH
>
> 2012/2/27 Samuel Robert <sa...@gmail.com>:
> > I am using Spring:
> > *<bean id="context" class="my.bean.SessionBean" scope="session"/>*
> >
> > In the action:
> > *@Autowired
> > private SessionBean context;*
> >
> > I can manipulate the context object in the action, fill it with a list of
> > profiles.
> >
> >
> > In the JSP, tags like the following fail (the first time only):
> > <s:select name="profile" id="profile"
> list="%{#session.context.profiles}"/>
> >
> > The application uses Spring Security and Tiles with the struts-tiles
> > plugin.
> > The jsp is included via Tiles: <result type="tiles">monitor</result>
> >
> > I am testing with Jetty.
> >
> > The stack trace:
> > Caused by: tag 'select', field 'list', name 'profile': The requested list
> > key '%{#session.context.profiles}' could not be resolved as a
> > collection/array/map/enu
> > meration/iterator type. Example: people or people.{name} - [unknown
> > location]
> >        at
> > org.apache.struts2.components.Component.fieldError(Component.java:237)
> >        at
> > org.apache.struts2.components.Component.findValue(Component.java:358)
> >        at
> >
> org.apache.struts2.components.ListUIBean.evaluateExtraParams(ListUIBean.java:80)
> >        at
> > org.apache.struts2.components.Select.evaluateExtraParams(Select.java:105)
> >        at
> > org.apache.struts2.components.UIBean.evaluateParams(UIBean.java:856)
> >        at org.apache.struts2.components.UIBean.end(UIBean.java:510)
> >        at
> >
> org.apache.struts2.views.jsp.ComponentTagSupport.doEndTag(ComponentTagSupport.java:42)
> >        at
> >
> org.apache.jsp.jsp.monitor.inc_005fheader_005fmonitoring_jsp._jspx_meth_s_select_0(org.apache.jsp.jsp.monitor.inc_005fheader_005fmonitoring_jsp:367)
> >        at
> >
> org.apache.jsp.jsp.monitor.inc_005fheader_005fmonitoring_jsp._jspx_meth_s_form_0(org.apache.jsp.jsp.monitor.inc_005fheader_005fmonitoring_jsp:313)
> >        at
> >
> org.apache.jsp.jsp.monitor.inc_005fheader_005fmonitoring_jsp._jspx_meth_s_if_0(org.apache.jsp.jsp.monitor.inc_005fheader_005fmonitoring_jsp:262)
> >        at
> >
> org.apache.jsp.jsp.monitor.inc_005fheader_005fmonitoring_jsp._jspService(org.apache.jsp.jsp.monitor.inc_005fheader_005fmonitoring_jsp:118)
> >        at
> > org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:109)
> >        at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
> >        at
> >
> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:389)
> >        at
> > org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:486)
> >        at
> org.apache.jasper.servlet.JspServlet.service(JspServlet.java:380)
> >        at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
> >        at
> > org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
> >        at
> >
> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1221)
> >        at
> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:366)
> >        at
> >
> org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:99)
> >        at
> >
> org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
> >        at
> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378)
> >        at
> >
> org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:97)
> >        at
> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378)
> >        at
> >
> org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:60)
> >        at
> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378)
> >        at
> >
> org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:78)
> >        at
> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378)
> >        at
> >
> org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)
> >        at
> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378)
> >        at
> >
> org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:35)
> >        at
> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378)
> >        at
> >
> org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:187)
> >        at
> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378)
> >        at
> >
> org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105)
> >        at
> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378)
> >        at
> >
> org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:57)
> >        at
> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378)
> >        at
> >
> org.springframework.security.web.session.ConcurrentSessionFilter.doFilter(ConcurrentSessionFilter.java:109)
> >        at
> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378)
> >        at
> >
> org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:167)
> >        at
> >
> org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237)
> >        at
> >
> org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
> >        at
> >
> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1212)
> >        at
> > org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:399)
> >        at
> >
> org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
> >        at
> > org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
> >        at
> > org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766)
> >        at
> > org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:450)
> >        at
> org.mortbay.jetty.servlet.Dispatcher.include(Dispatcher.java:192)
> >        at
> >
> org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:1013)
> >        at
> >
> org.apache.jasper.runtime.PageContextImpl.include(PageContextImpl.java:698)
> >        at
> >
> org.apache.tiles.jsp.context.JspTilesRequestContext.include(JspTilesRequestContext.java:80)
> >        ... 132 more
> >
> >
> > On 27 February 2012 16:00, Gabriel Belingueres <belingueres@gmail.com
> >wrote:
> >
> >> Post the code in which you actually set the attribute in the session
> scope.
> >>
> >> 2012/2/27 Samuel Robert <sa...@gmail.com>:
> >> > Hi,
> >> >
> >> > I faced few days ago a problem with the session variable in the JSP. I
> >> > posted the problem here but did not get any solution:
> >> >
> >>
> http://stackoverflow.com/questions/9381991/session-variable-empty-in-the-jsp-on-first-access-in-a-struts2-spring-applicatio
> >> >
> >> > Perhaps some of you have an idea.
> >> >
> >> > Basically the session variable in the JSP is empty on the first call
> to
> >> my
> >> > action (when the session gets initialized).
> >> > That means that my JSP fails to retrieve any information from the
> session
> >> > in the Struts tags on the first display.
> >> > From the second call it is OK.
> >> >
> >> > I have checked that the session is correctly initialized in the JSP.
> The
> >> > problem comes only with the session variable in the struts tags.
> >> >
> >> > <%
> >>
> System.out.println(((my.bean.SessionBean)session.getAttribute("context")).getProfiles());
> >> > %> => OK
> >> >
> >> > <s:property value="%{#session}"/> => KO (empty)
> >> >
> >> > ${session} => KO
> >> >
> >> >
> >> > I solved it by adding an additional redirectAction on the first access
> >> > (when I detect that it is a new session).
> >> > But I wonder why I get such a problem, which I never had before.
> >> >
> >> > Thanks,
> >> > Samuel
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
> >> For additional commands, e-mail: user-help@struts.apache.org
> >>
> >>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
> For additional commands, e-mail: user-help@struts.apache.org
>
>

Re: [Struts2] session variable empty in the JSP

Posted by Gabriel Belingueres <be...@gmail.com>.
You are lacking the <aop:scoped-proxy/> in the bean definition. See
the following link:

http://static.springsource.org/spring/docs/3.0.7.RELEASE/spring-framework-reference/html/beans.html#beans-factory-scopes-other-injection

HTH

2012/2/27 Samuel Robert <sa...@gmail.com>:
> I am using Spring:
> *<bean id="context" class="my.bean.SessionBean" scope="session"/>*
>
> In the action:
> *@Autowired
> private SessionBean context;*
>
> I can manipulate the context object in the action, fill it with a list of
> profiles.
>
>
> In the JSP, tags like the following fail (the first time only):
> <s:select name="profile" id="profile" list="%{#session.context.profiles}"/>
>
> The application uses Spring Security and Tiles with the struts-tiles
> plugin.
> The jsp is included via Tiles: <result type="tiles">monitor</result>
>
> I am testing with Jetty.
>
> The stack trace:
> Caused by: tag 'select', field 'list', name 'profile': The requested list
> key '%{#session.context.profiles}' could not be resolved as a
> collection/array/map/enu
> meration/iterator type. Example: people or people.{name} - [unknown
> location]
>        at
> org.apache.struts2.components.Component.fieldError(Component.java:237)
>        at
> org.apache.struts2.components.Component.findValue(Component.java:358)
>        at
> org.apache.struts2.components.ListUIBean.evaluateExtraParams(ListUIBean.java:80)
>        at
> org.apache.struts2.components.Select.evaluateExtraParams(Select.java:105)
>        at
> org.apache.struts2.components.UIBean.evaluateParams(UIBean.java:856)
>        at org.apache.struts2.components.UIBean.end(UIBean.java:510)
>        at
> org.apache.struts2.views.jsp.ComponentTagSupport.doEndTag(ComponentTagSupport.java:42)
>        at
> org.apache.jsp.jsp.monitor.inc_005fheader_005fmonitoring_jsp._jspx_meth_s_select_0(org.apache.jsp.jsp.monitor.inc_005fheader_005fmonitoring_jsp:367)
>        at
> org.apache.jsp.jsp.monitor.inc_005fheader_005fmonitoring_jsp._jspx_meth_s_form_0(org.apache.jsp.jsp.monitor.inc_005fheader_005fmonitoring_jsp:313)
>        at
> org.apache.jsp.jsp.monitor.inc_005fheader_005fmonitoring_jsp._jspx_meth_s_if_0(org.apache.jsp.jsp.monitor.inc_005fheader_005fmonitoring_jsp:262)
>        at
> org.apache.jsp.jsp.monitor.inc_005fheader_005fmonitoring_jsp._jspService(org.apache.jsp.jsp.monitor.inc_005fheader_005fmonitoring_jsp:118)
>        at
> org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:109)
>        at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
>        at
> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:389)
>        at
> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:486)
>        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:380)
>        at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
>        at
> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
>        at
> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1221)
>        at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:366)
>        at
> org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:99)
>        at
> org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
>        at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378)
>        at
> org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:97)
>        at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378)
>        at
> org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:60)
>        at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378)
>        at
> org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:78)
>        at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378)
>        at
> org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)
>        at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378)
>        at
> org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:35)
>        at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378)
>        at
> org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:187)
>        at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378)
>        at
> org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105)
>        at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378)
>        at
> org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:57)
>        at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378)
>        at
> org.springframework.security.web.session.ConcurrentSessionFilter.doFilter(ConcurrentSessionFilter.java:109)
>        at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378)
>        at
> org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:167)
>        at
> org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237)
>        at
> org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
>        at
> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1212)
>        at
> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:399)
>        at
> org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
>        at
> org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
>        at
> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766)
>        at
> org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:450)
>        at org.mortbay.jetty.servlet.Dispatcher.include(Dispatcher.java:192)
>        at
> org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:1013)
>        at
> org.apache.jasper.runtime.PageContextImpl.include(PageContextImpl.java:698)
>        at
> org.apache.tiles.jsp.context.JspTilesRequestContext.include(JspTilesRequestContext.java:80)
>        ... 132 more
>
>
> On 27 February 2012 16:00, Gabriel Belingueres <be...@gmail.com>wrote:
>
>> Post the code in which you actually set the attribute in the session scope.
>>
>> 2012/2/27 Samuel Robert <sa...@gmail.com>:
>> > Hi,
>> >
>> > I faced few days ago a problem with the session variable in the JSP. I
>> > posted the problem here but did not get any solution:
>> >
>> http://stackoverflow.com/questions/9381991/session-variable-empty-in-the-jsp-on-first-access-in-a-struts2-spring-applicatio
>> >
>> > Perhaps some of you have an idea.
>> >
>> > Basically the session variable in the JSP is empty on the first call to
>> my
>> > action (when the session gets initialized).
>> > That means that my JSP fails to retrieve any information from the session
>> > in the Struts tags on the first display.
>> > From the second call it is OK.
>> >
>> > I have checked that the session is correctly initialized in the JSP. The
>> > problem comes only with the session variable in the struts tags.
>> >
>> > <%
>> System.out.println(((my.bean.SessionBean)session.getAttribute("context")).getProfiles());
>> > %> => OK
>> >
>> > <s:property value="%{#session}"/> => KO (empty)
>> >
>> > ${session} => KO
>> >
>> >
>> > I solved it by adding an additional redirectAction on the first access
>> > (when I detect that it is a new session).
>> > But I wonder why I get such a problem, which I never had before.
>> >
>> > Thanks,
>> > Samuel
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
>> For additional commands, e-mail: user-help@struts.apache.org
>>
>>

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org


Re: [Struts2] session variable empty in the JSP

Posted by Samuel Robert <sa...@gmail.com>.
I am using Spring:
*<bean id="context" class="my.bean.SessionBean" scope="session"/>*

In the action:
*@Autowired
private SessionBean context;*

I can manipulate the context object in the action, fill it with a list of
profiles.


In the JSP, tags like the following fail (the first time only):
<s:select name="profile" id="profile" list="%{#session.context.profiles}"/>

The application uses Spring Security and Tiles with the struts-tiles
plugin.
The jsp is included via Tiles: <result type="tiles">monitor</result>

I am testing with Jetty.

The stack trace:
Caused by: tag 'select', field 'list', name 'profile': The requested list
key '%{#session.context.profiles}' could not be resolved as a
collection/array/map/enu
meration/iterator type. Example: people or people.{name} - [unknown
location]
        at
org.apache.struts2.components.Component.fieldError(Component.java:237)
        at
org.apache.struts2.components.Component.findValue(Component.java:358)
        at
org.apache.struts2.components.ListUIBean.evaluateExtraParams(ListUIBean.java:80)
        at
org.apache.struts2.components.Select.evaluateExtraParams(Select.java:105)
        at
org.apache.struts2.components.UIBean.evaluateParams(UIBean.java:856)
        at org.apache.struts2.components.UIBean.end(UIBean.java:510)
        at
org.apache.struts2.views.jsp.ComponentTagSupport.doEndTag(ComponentTagSupport.java:42)
        at
org.apache.jsp.jsp.monitor.inc_005fheader_005fmonitoring_jsp._jspx_meth_s_select_0(org.apache.jsp.jsp.monitor.inc_005fheader_005fmonitoring_jsp:367)
        at
org.apache.jsp.jsp.monitor.inc_005fheader_005fmonitoring_jsp._jspx_meth_s_form_0(org.apache.jsp.jsp.monitor.inc_005fheader_005fmonitoring_jsp:313)
        at
org.apache.jsp.jsp.monitor.inc_005fheader_005fmonitoring_jsp._jspx_meth_s_if_0(org.apache.jsp.jsp.monitor.inc_005fheader_005fmonitoring_jsp:262)
        at
org.apache.jsp.jsp.monitor.inc_005fheader_005fmonitoring_jsp._jspService(org.apache.jsp.jsp.monitor.inc_005fheader_005fmonitoring_jsp:118)
        at
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:109)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
        at
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:389)
        at
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:486)
        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:380)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
        at
org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
        at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1221)
        at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:366)
        at
org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:99)
        at
org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
        at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378)
        at
org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:97)
        at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378)
        at
org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:60)
        at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378)
        at
org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:78)
        at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378)
        at
org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)
        at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378)
        at
org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:35)
        at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378)
        at
org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:187)
        at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378)
        at
org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105)
        at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378)
        at
org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:57)
        at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378)
        at
org.springframework.security.web.session.ConcurrentSessionFilter.doFilter(ConcurrentSessionFilter.java:109)
        at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378)
        at
org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:167)
        at
org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237)
        at
org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
        at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1212)
        at
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:399)
        at
org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
        at
org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
        at
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766)
        at
org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:450)
        at org.mortbay.jetty.servlet.Dispatcher.include(Dispatcher.java:192)
        at
org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:1013)
        at
org.apache.jasper.runtime.PageContextImpl.include(PageContextImpl.java:698)
        at
org.apache.tiles.jsp.context.JspTilesRequestContext.include(JspTilesRequestContext.java:80)
        ... 132 more


On 27 February 2012 16:00, Gabriel Belingueres <be...@gmail.com>wrote:

> Post the code in which you actually set the attribute in the session scope.
>
> 2012/2/27 Samuel Robert <sa...@gmail.com>:
> > Hi,
> >
> > I faced few days ago a problem with the session variable in the JSP. I
> > posted the problem here but did not get any solution:
> >
> http://stackoverflow.com/questions/9381991/session-variable-empty-in-the-jsp-on-first-access-in-a-struts2-spring-applicatio
> >
> > Perhaps some of you have an idea.
> >
> > Basically the session variable in the JSP is empty on the first call to
> my
> > action (when the session gets initialized).
> > That means that my JSP fails to retrieve any information from the session
> > in the Struts tags on the first display.
> > From the second call it is OK.
> >
> > I have checked that the session is correctly initialized in the JSP. The
> > problem comes only with the session variable in the struts tags.
> >
> > <%
> System.out.println(((my.bean.SessionBean)session.getAttribute("context")).getProfiles());
> > %> => OK
> >
> > <s:property value="%{#session}"/> => KO (empty)
> >
> > ${session} => KO
> >
> >
> > I solved it by adding an additional redirectAction on the first access
> > (when I detect that it is a new session).
> > But I wonder why I get such a problem, which I never had before.
> >
> > Thanks,
> > Samuel
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
> For additional commands, e-mail: user-help@struts.apache.org
>
>

Re: [Struts2] session variable empty in the JSP

Posted by Gabriel Belingueres <be...@gmail.com>.
Post the code in which you actually set the attribute in the session scope.

2012/2/27 Samuel Robert <sa...@gmail.com>:
> Hi,
>
> I faced few days ago a problem with the session variable in the JSP. I
> posted the problem here but did not get any solution:
> http://stackoverflow.com/questions/9381991/session-variable-empty-in-the-jsp-on-first-access-in-a-struts2-spring-applicatio
>
> Perhaps some of you have an idea.
>
> Basically the session variable in the JSP is empty on the first call to my
> action (when the session gets initialized).
> That means that my JSP fails to retrieve any information from the session
> in the Struts tags on the first display.
> From the second call it is OK.
>
> I have checked that the session is correctly initialized in the JSP. The
> problem comes only with the session variable in the struts tags.
>
> <% System.out.println(((my.bean.SessionBean)session.getAttribute("context")).getProfiles());
> %> => OK
>
> <s:property value="%{#session}"/> => KO (empty)
>
> ${session} => KO
>
>
> I solved it by adding an additional redirectAction on the first access
> (when I detect that it is a new session).
> But I wonder why I get such a problem, which I never had before.
>
> Thanks,
> Samuel

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org