设置会话变量 spring mvc 3
如何使用 ${variable}
或 ${requestScope.variable}
设置一个可以在任何视图中使用的会话对象
以便能够使用会话我需要设置 <%@ page session="true" %>
吗?
How can I set a session object which I can use then in any of my views by using ${variable}
or ${requestScope.variable}
To be able to use sessions do I need to set <%@ page session="true" %>
?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果您想访问视图中的会话变量,最简单的方法是:
请参阅 使用范围对象了解更多信息。
如果设置
<%@ page session="true">
那么 JSP 会将会话范围和页面范围合并到单个命名空间中。然后你可以这样做:你可以像这样在 mvc 控制器中将一些东西放入会话中:
最后,@SessionAttribute 用于特定的用例,并且不会将变量放入会话中以便任何人都可以访问它们:
这里是spring 人员如何描述 @SessionAttribute 的功能:
If you want to access a session variable in your view the easiest way to do it is :
See the Using Scope Objects for more info.
If you set
<%@ page session="true">
then the JSP will merge the session scope and at the page scope into a single namespace. Then you can do:You can put something into the session in a mvc controller like this:
Finally, the @SessionAttribute is meant for a specifc use case, and doesn't put variables into the session so that anyone can access them:
Here is how the spring folks describe the functionality of @SessionAttribute:
使用 SessionAttributes 注释。查看 Spring 文档 此处
您还可以使用 DefaultSessionAttributeStore 手动添加和删除会话中的变量 API
Use the SessionAttributes Annotation. Check it out at the spring documentation here
You can also manually add and remove variables from session with the DefaultSessionAttributeStore api