Spring MVCModel、Map及ModelMap几种方式

    技术2022-07-13  68

    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"; } ModelAndViewModelMapModelMap 都可以成功跳转到指定页面 ==========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

    Processed: 0.011, SQL: 9