如何使用${variable}
或${requestScope.variable}
为了能够使用会话,我需要设置<%@ page session="true" %>
吗?
答案 0 :(得分:31)
如果要在视图中访问会话变量,最简单的方法是:
${sessionScope.yourVariable}
有关详细信息,请参阅Using Scope Objects。
如果设置<%@ 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适用于 与SessionForm相同的方式 SimpleFormController。它提出了 命令(或@SessionAttributes 会话中的任何对象) 第一和第二之间的持续时间 最后一次请求(大部分时间是 最初的GET和最后的POST)。后 这些东西被删除了。
每个Controller都有自己的ModelMap 所以有点像 controller1中的@SessionAttributes 在控制器2和。中不可用 反之亦然。为了那个工作,你会 必须把东西放在会议上 手动自己。
答案 1 :(得分:0)