我有一个Spring MVC项目设置,我在其中定义了几个模型属性&用户访问主页home.html
时的会话属性。
HomeController.java
@RequestMapping(value = "/getHomepage", produces = "text/html", method = RequestMethod.GET)
protected ModelAndView getHomepage(HttpSession session) {
ModelAndView mav = new ModelAndView("home");
// do some stuff
session.setAttribute("attr1", "cool");
session.setAttribute("attr2", "attributes");
return mav;
}
我在单独的orderForm.html
上抓取这些会话属性(我使用Thymeleaf作为我的模板引擎)
Session Attribute 1: <div th:text="${session.attr1}"></div>
Session Attribute 2: <div th:text="${session.attr2}"></div>
此操作正常,直到我的会话超时/无效并且用户仍然在orderForm.html
- 他们失去了会话属性的范围,因为它们仅在主页@Controller
上定义
我可以在没有首先访问主页的情况下检索会话属性,而无需在项目的每个视图@Controller
上设置它们吗?