繁体   English   中英

设置会话变量spring mvc 3

[英]Set session variable spring mvc 3

如何使用${variable}${requestScope.variable}设置我可以在任何视图中使用的会话对象

为了能够使用会话,我需要设置<%@ page session="true" %>吗?

如果要在视图中访问会话变量,最简单的方法是:

${sessionScope.yourVariable} 

有关详细信息,请参阅使用范围对象

如果设置<%@ page session="true">则JSP会将会话范围和页面范围合并到单个命名空间中。 然后你可以这样做:

${yourVariable}

您可以在mvc控制器中将某些内容放入会话中,如下所示:

@RequestMapping("/test")
@Controller
public class TestController {
    @RequestMapping(method = RequestMethod.GET)
    public String testMestod(HttpServletRequest request)
    {
        request.getSession().setAttribute("testVariable", "Test Values!!");
        return "testJsp";
    }
}

最后,@ SessionAttribute用于特定用例,并且不会将变量放入会话中,以便任何人都可以访问它们:

以下是春天人们如何描述@SessionAttribute的功能:

@SessionAttributes的工作方式与SimpleFormController的sessionForm相同。 它将命令(或@SessionAttributes任何对象)放在会话中,持续时间为第一个和最后一个请求(大多数时间是初始GET和最终POST)。 之后,东西被删除。

每个Controller都有自己的ModelMap,因此在controller1中作为@SessionAttributes放置的内容在controller2中不可用,反之亦然。 为此,你必须自己手动将东西放在会话上。

使用SessionAttributes Annotation。 请在弹簧文档中查看

您还可以使用DefaultSessionAttributeStore api手动添加和删除会话中的变量

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM