Tra*_*zed 4 session spring controller session-variables spring-mvc
我有一个运行Spring 3.0并使用Spring-MVC的Web应用程序.我有几个控制器设置如下:
@Controller
@RequestMapping("/admin")
@SessionAttributes({"clientLogin", "selectTab", "user", "redirectUrl"})
public class AdminController {
...
}
@Controller
@SessionAttributes({"clientLogin", "selectTab", "user", "redirectUrl"})
public class PublicController {
....
}
Run Code Online (Sandbox Code Playgroud)
我可以将带注释的变量添加到ModelMap中
map.addAttribute("user", "Bob");
Run Code Online (Sandbox Code Playgroud)
这样可以将变量保存在当前控制器中; 我可以从该控制器中的任何其他方法访问modelMap中的var.但是当用户访问另一个Controller中的页面时,即使@SessionAttributes中列出了相同的变量,它也不会在第二个控制器中可用.
是否可以使用注释跨多个控制器访问这些带注释的变量?
不,这是不可能的 - 在我看来,SessionAttributes的名字很糟糕.
如果要跨不同控制器共享这些属性,可以使用以下方法将它们显式地放入会话中:
session.setAttribute()
| 归档时间: |
|
| 查看次数: |
3950 次 |
| 最近记录: |