对比如下:
- | model | modelAndView |
---|---|---|
添加参数 | model.addAttribute(“apple”,“8”); | mav.addObject(“apple”,“8”); |
添加map | model.addAllAttributes(map); | model.addAllObjects(map); |
方法返回值 | String | ModelAndView |
视图 | return "/index"对应的视图 | new ModelAndView("/index") 对应的视图 |
代码如下:
// model例子
public String demo2(Model model){
model.addAttribute("apple","8");
model.addAttribute("banana","3");
HashMap<String, Object> map = new HashMap<>();
map.put("apple","8");
map.put("banana","3");
model.addAllAttributes(map);
return "/index";
}
// modelAndView例子
public ModelAndView demo(){
// setView() 不能传String,要传View接口的实现类,太麻烦,所以一般在构造的时候之间指明view
ModelAndView mav = new ModelAndView("/index");
mav.addObject("apple","8");
mav.addObject("banana","3");
HashMap<String, Object> map = new HashMap<>();
map.put("apple","8");
map.put("banana","3");
mav.addAllObjects(map);
mav.addObject("1234");
return mav;
}