Spring mvc 中属性的共享
在spring mvc中通过session实现属性的共享有两种方法
- 1.HttpSession
- 2.@SessionAttribute
使用方法
2.@SessionAttributes
- 使用@SessionAttribute(“xxx”)标注想要存入Session中的属性,用以提示框架哪些属性需要存放在Session
- 在具体的Controller中将“xxx”这个属性加入到Model中
- 在其他的Controller中通过@ModelAttribute(“xxx”)使用存入Session中的属性(确保两个属性名称,类型一致,Spring mvc框架会自动将Session中的属性注入)
使用格式
@SessionAttribute(“xxx”)表示需要存入的字段名字
@SessionAttribute(type=xxx.class)表示需要存储xxx类
@SessionAttribute({“xxx”,“yyy”})表示需要存入多个字段名字
@SessionAttribute(type={xxx.class,yyy.class},value{“xxx”,”yyy”})表示需要存入多个类
注意事项
1.Session的清除操作
- SessionStatus.setComplete()
这个方法并不是立即将Session中的数据清空,而是在此次请求过后再对Session进行修改 - Session.invalidate()
立即清空
2.对应关系
- @ModelAttribute ———-》request
- @SessionAttribute ———-》session