1、Model
模型。是MVC架构中的M部分,是用来传输数据的。Model只是用来传输数据的,并不会进行业务的寻址。
2、ModelAndView
模型和视图。是MVC框架的M和V。包含Model和View两部分,主要功能是:设置跳转地址;将底层获取的数据进行封装后传输到View; ModelAndView包含model和view两部分,使用时需要自己实例化,利用ModelMap用来传值,也可以设置view的名称。
3、在@RestController和@Controller中的应用。
RestController相当于Controller和ResponseBody的组合。RestController返回的是return的内容。无法返回到指定的页面。此时就需要ModelAndView出场来实现该功能。
public ModelAndView building() {
ModelAndView view = new ModelAndView(prefix + "/buildingctl");//视图文件的位置和名称。
view.getModelMap().put("depts", deptList);//传输到页面的参数
return view;
}
而当使用@Controller标签的时候,返回到页面:
public String unit(ModelMap mmap) {
mmap.put("depts", deptList);//设置传输参数
return prefix + "/buildingctl";
}
如果在使用@Controller标签的时候,需要返回JSON、XML或自定义mediaType内容到页面,则需要在对应的方法上加上@ResponseBody注解。