前言
在springMVC的使用过程中,我们经常用model modelAndView返回页面视图数据。
简介
- Model 是一个接口, 其实现类为ExtendedModelMap,继承了ModelMap类。
- ModelMap:传递控制方法处理数据到结果页面
- ModelAndView
(1) 将控制器方法中处理的结果数据传递到结果页面
(2) 设置转向地址,这也是ModelAndView和ModelMap的主要区别
代码示例
Model传递数据
public String postMethod(Model model,HttpServletRequest request)
{
//设置test页面需要的参数
model.addAttribute("name","张三");
......
//返回跳转地址
return "test";
}
ModelAndView传递数据
public String postMethod(HttpServletRequest request)
{
Map map = new HashMap();
map.put("name","张三");//test页面的参数
return new ModelAndView("test",map);//设置页面地址
}
总结
- Model只是用来传输数据的,并不会进行业务的寻址。ModelAndView却是可以进行业务寻址的。(设置对应的要请求的静态文件,这里的静态文件指的是类似jsp的文件)
- Model是每一次请求都必须会带着的,但是ModelAndView是需要我们自己去新建的