Spring MVC ModelAndView详解

ModelAndView

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

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

  Spring MVC ModelAndView详解_第1张图片

  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 }

  

  显示结果:

你可能感兴趣的:(springmvc)