Java Spring mvc 3.0应用程序会话范围
使用左菜单时,我没有重定向到其他页面,而是使用href链接其他页面。但在这样做的同时,我的会话范围(仅限于请求)不再存在。 这是我的控制器代码: 设置会话:Java Spring mvc 3.0应用程序会话范围,java,spring,spring-mvc,Java,Spring,Spring Mvc,使用左菜单时,我没有重定向到其他页面,而是使用href链接其他页面。但在这样做的同时,我的会话范围(仅限于请求)不再存在。 这是我的控制器代码: 设置会话: request.getSession(true).setAttribute("application", application); 正在其他控制器中获取会话对象: HttpSession session = request.getSession(); session.getAttribute("application"); //appl
request.getSession(true).setAttribute("application", application);
正在其他控制器中获取会话对象:
HttpSession session = request.getSession();
session.getAttribute("application"); //application null in href; redirect works fine
那么,我有没有办法在SpringMVC3中使用“应用程序”会话范围呢。这样我就可以通过我的应用程序访问会话
我在我的应用程序servlet.xml中尝试了这个代码片段
<!-- a HTTP Session-scoped bean exposed as a proxy -->
<bean id="applicationVO" class="com.nypd.viewobjects.ApplicationVO" scope="globalSession">
<!-- this next element effects the proxying of the surrounding bean -->
<aop:scoped-proxy/>
</bean>
我做错了什么
我还在控制器上尝试了@SessionAttribute
@SessionAttributes(“applicationVO”)
但问题似乎仍然存在
如果有人能给我举一个两个控制器的小例子,我将不胜感激。请阅读。这是:
所以您通常要做的是定义一个bean并在scopesession
中注册它。现在你可以把它注射到任何你需要的地方。请参阅,但要注意(具有非单例依赖项的单例对象)
或者,您可以使用
@SessionAttributes
机制从控制器中存储和检索任意会话数据。看
参考资料:
要将bean存储在会话作用域中,您必须在spring-context.xml中声明requestContextListner,这将向当前线程公开请求
@Autowired private ApplicationVO applicationVO;