ModelAndView的七种构造函数

1.ModelAndView();

        用这个构造方法构造的实例主要用来在以后往其中加view设置和model对象。 给ModelAndView
实例设置view的方法有两个:

            setViewName(String viewName) ;

            setView(View view);

前者是使用viewname,后者是使用预先构造好的View对象,其中前者比较常用。事实上View是一个接口,而不是一个可以构造的具体类,我们只能通过其他途径来获取。

        给ModelAndView实例设置model则比较复杂。有三个方法可以使用:

            addObject(Object modelObject);

            addObject(String modelName, Object modelObject);

            addAllObjects(Map modelMap);

代码演示:

  1. public ModelAndView handleRequestInternal(  
  2.         HttpServletRequest request,  
  3.         HttpServletResponse response) throws Exception { 
  4.        //实例化一个VIew的ModelAndView实例   
  5.        ModelAndView mav = new ModelAndView("hello");
  6.        //添加一个带名的model对象  
  7.        mav.addObject("message", "Hello World!"); 
  8.         return mav;          
  9. }


2.ModelAndView(String viewName);

     ModelAndView持有View的名称返回,之后View名称被view resolver,也就是实作org.springframework.web.servlet.View接口的实例解析。

3.ModelAndView(String viewName, Map model);

      如果返回Model对象,则可以使用Map来收集这些Model对象,然后设定给ModelAndView。

4.ModelAndView(String viewName, String modelName, Object modelObject);

       Map对象中设定好key与value值,之后可以在视图中取出,只是要返回一个Model对象。

5.ModelAndView(View view);

        ModelAndView类别提供实作View接口的对象来作View的参数。

6.ModelAndView(View view, Map model);

         ModelAndView类别提供实作View接口的对象来作View的参数。

7.ModelAndView(View view, String modelName, Object modelObject);

     ModelAndView类别提供实作View接口的对象来作View的参数。

参数中model可以没有,但view必须有。

猜你喜欢

转载自my.oschina.net/u/3644969/blog/1581698
今日推荐