1. 程式人生 > >springMVC中Model和ModelAndView的區別

springMVC中Model和ModelAndView的區別

全文轉載自:https://blog.csdn.net/hjh_walker/article/details/56396183

只是為了方便自己隨時檢視,感謝原創博主。

@Controller("Test")

public class Test{

     @RequestMapping("")

     public ModelAndView one(){`這裡寫程式碼片`

        ModelAndView mav =

new ModelAndView("index");

    mav.addObject("name","aaa"); mav.addObject("sex","男");

         return mav; //跳轉到某一路徑下的index.jsp頁面

     }

    @RequestMapping("")

        

public String two(Model model){

         model.addAttribute("name","aaa");

        model.addAttribure("sex", "男");

         return "index";       ///跳轉到某一路徑下的index.jsp頁面

}

}

通過上面的程式碼展示就可以基本看出這兩者的區別,ModelAndView可以說是檢視和模型的結合體,但是在每次使用的時候都需要我們自己建立,並將想要目的頁面的邏輯檢視名作為引數,並通過addObject()方法新增屬性。

而Model是每個請求中都會自帶的,我們可以通過addAttribute()方法新增屬性,在跳轉頁面時直接返回該頁面的邏輯檢視名。

-------------------------------

Model是每次請求中都存在的預設引數,利用其addAttribute()方法即可將伺服器的值傳遞到jsp頁面中;

ModelAndView包含model和view兩部分,使用時需要自己例項化,利用ModelMap用來傳值,也可以設定view的名稱.