Spring MVC输出数据的几种方式
@RequestMapping("/handle01")
public ModelAndView handle01(){
LocalDateTime now = LocalDateTime.now();
//封装页面与数据
ModelAndView modelAndView = new ModelAndView();
modelAndView.addObject("date",now);
//封装跳转的页面
modelAndView.setViewName("success");
System.err.println("==========ModelAndView======== "+modelAndView.getClass());
return modelAndView;
}
@RequestMapping("/handle11")
public String handle11(ModelMap modelMap){
LocalDateTime now = LocalDateTime.now();
modelMap.addAttribute("date",now);
System.err.println("==========modelMap======== "+modelMap.getClass());
return "success";
}
@RequestMapping("/handle12")
public String handle12(Model model){
LocalDateTime now = LocalDateTime.now();
model.addAttribute("date",now);
System.err.println("==========model======== "+model.getClass());
return "success";
}
@RequestMapping("/handle13")
public String handle12(Map<String,Object> map){
LocalDateTime now = LocalDateTime.now();
map.put("date",now);
System.err.println("==========map======== "+map.getClass());
return "success";
}
- ModelAndView
- ModelMap
- Model
- Map
都可以成功跳转到指定页面
==========ModelAndView======== class org.springframework.web.servlet.ModelAndView
==========modelMap======== class org.springframework.validation.support.BindingAwareModelMap
==========model======== class org.springframework.validation.support.BindingAwareModelMap
==========map======== class org.springframework.validation.support.BindingAwareModelMap
后面3个都是BindingAwareModelMap,数据都会被放在这个中
类结构图
BindingAwareModelMap是最底层的最后都要转换为BindingAwareModelMap
ModelMap Model Map最后都到转换为BindingAwareModelMap