该对象中包含了一个model属性和一个view属性

  model:其实是一个ModelMap类型。其实ModelMap是一个LinkedHashMap的子类

  Spring MVC 向前台页面传值-ModelAndView_子类

  view:包含了一些视图信息


  当视图解释器解析ModelAndVIew是,其中model本生就是一个Map的实现类的子类。视图解析器将model中的每个元素都通过request.setAttribute(name, value);添加request请求域中。这样就可以在JSP页面中通过EL表达式来获取对应的值


1、向ModelAndView中添加数据

  ​方法1:可以通过ModelAndView的方法



public ModelAndView addObject(String attributeName, Object attributeValue)


  具体代码



1 ModelAndView mav=new ModelAndView("hello");
2 mav.addObject("time", new Date());


  方法2:由于我们知道其model属性是一个Map的实现类。那么可以通过Map的方法来实现



1 mav.getModel().put("name", "caoyc");



  ​完整代码:



1 @RequestMapping("/test")
2 public ModelAndView test(){
3 ModelAndView mav=new ModelAndView("hello");
4 mav.addObject("time", new Date());
5 mav.getModel().put("name", "caoyc");
6
7 return mav;
8 }



  在实例化ModelAndView时,其中参数为视图名称


  ​JSP页面



1 time:${requestScope.time}
2 <br/>
3 name:${name }