@SessionAttributes
默认情况下Spring MVC将模型中的数据存储到request域中。当一个请求结束后,数据就失效了。如果要跨页面使用。
那么需要使用到session。而@SessionAttributes注解就可以使得模型中的数据存储一份到session域中。
@SessionAttributes 注解的属性:
- value:这是一个字符串数组。里面应写需要存储到session中数据的key。 可以写多个类型,用{} 括号括起来
- types:根据指定参数的类型,将模型中对应类型的参数存储到session中。 可以写多个类型,用{} 括号括起来
下面代码演示:
controller:
@Controller
@SessionAttributes(value="message",types=Integer.class)
//value="message":将模型中 key为 message的 属性 保存一份在 session域中
//types=Integer.class:将模型中值为 Integer类型的属性 保存一份在session域中
public class ResponseController {
@RequestMapping("/hanlder06")
public ModelAndView hanlder06() {
ModelAndView view = new ModelAndView("main");
view.addObject("message", "通过ModelAndView存储数据,最终存储在Request域对象中");
view.addObject("age", 20);
return view;
}
}
jsp页面:
浏览器访问:http://localhost:8080/springMvc02/hanlder06
还有一个 @ModelAttribute :可以查看
https://blog.csdn.net/swebin/article/details/91879082
https://www.jianshu.com/p/0ec4e7afb7ed