1. BindingAwareModelMap(Model/ModelMap等等)传递数据
BindingAwareModelMap的继承关系如下

可以直接用BindingAwareModelMap作为请求参数,也可以用它的父类ModelMap / LinkedHashMap

从另一个继承树中也可得知,Model也可以作为请求参数。
1 | /** Map<String, Object> map作为请求参数 */ |
1 | ("/test") |
1 | ("/test") |
可以看到无论用哪个参数,实际对象都是BindingAwareModelMap,最后值都会放入request域中
2. ModelAndView传递数据
ModelAndView
- 包含视图信息(视图名)
- 包含模型数据,传递给视图,数据也是放到request域中
1 | ("/test") |
创建ModelAndView时,也可以用空参构造,但是还要用setViewName()设置视图1
2
3
4
5
6
7
8("/test")
public ModelAndView test() {
ModelAndView mv = new ModelAndView();
mv.setViewName("index");
mv.addObject("username", "jack");
mv.addObject("intList", Arrays.asList(1, 2, 3));
return mv;
}