Re: [Struts2] session variable empty in the JSP

2012-02-28 Thread Samuel Robert
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 belingue...@gmail.comwrote:

 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 samuelrobert@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=tilesmonitor/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
 
 

[Struts2] session variable empty in the JSP

2012-02-27 Thread Samuel Robert
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

2012-02-27 Thread Gabriel Belingueres
Post the code in which you actually set the attribute in the session scope.

2012/2/27 Samuel Robert samuelrobert@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-unsubscr...@struts.apache.org
For additional commands, e-mail: user-h...@struts.apache.org



Re: [Struts2] session variable empty in the JSP

2012-02-27 Thread Samuel Robert
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=tilesmonitor/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

Re: [Struts2] session variable empty in the JSP

2012-02-27 Thread Gabriel Belingueres
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 samuelrobert@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=tilesmonitor/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