在request域中保存数据:
1)在方法上传入原生的request和session
2)在方法上传入Map、Model或ModelMap,数据被放在请求域中
index.jsp中发起请求:
<a href="handle01">handle01</a>
Controller中:
@RequsetMapping("/handle01")
public String handle01(ModelMap modelMap){
modelMap.addAttribute("msg","hello");
return "success";
}
success.jsp中获取值:
${requestScope.msg}
3)⭐⭐返回ModelAndView⭐⭐,数据被放在请求域中
既包含视图信息(页面地址),也包含模型数据(输出给页面的数据)
@RequestMapping("/handle02")
public ModelAndView handle02{
//将之前的返回值作为参数
ModelAndView mv = new ModelAndView("success");
mv.addObject("msg","hello");
return mv;
}
上面三种方法本质上都是给BindingAwareModelMap中保存数据
在Session域中保存数据:
1)不常用,可能会引发异常
SpringMVC提供了一种可以临时给Session域中保存数据的方式:
使用@SessionAttributes(“msg”)注解在类上标记
使得在BindingAwareModelMap中保存数据的同时在session中保存一份
参数:
value:保存key=value的数据
types:保存value的类型=types的数据(如types={String.class})
2)推荐使用原生API