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.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 <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="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 <belingue...@gmail.com
> >wrote:
> >
> >> 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
> >>
> >>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscr...@struts.apache.org
> For additional commands, e-mail: user-h...@struts.apache.org
>
>

Reply via email to