一直都在用Model设置属性用于前后端传值。
今天在使用@RestController时,使用了ModelAndView传值并返回试图。
1.Model
- model一般用于前后端传值。
- model不能用于返回试图和跳转地址
- model实例由springmvc框架创建并作为控制器参数传入,不用自己创建
2.ModelMap
- 看起来和Model没有什么不同
3.ModelAndView
- ModelAndView既可以传递属性,也可以返回试图
- ModelAndView需要自己new。
//一种直接new,然后setViewName设置返回试图
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("index");
modelAndView.addObject("user",user);
return modelAndView;
复制代码
//另一种直接在构造函数内设置返回试图
ModelAndView mav = new ModelAndView("index");
mav.addObject("user",user);
return mav;
复制代码
注意:setViewName要设置成返回试图的名称,有时候"index"写成"/index",会发生错误。
参考
SpringMVC Model、ModelMap和ModelAndView的区别和用法 Model、ModelMap和ModelAndView的使用详解
转载于:https://juejin.im/post/5cf36db46fb9a07eec59b2c3