springMVC中Model和ModelAndView的區別
全文轉載自:https://blog.csdn.net/hjh_walker/article/details/56396183
只是為了方便自己隨時檢視,感謝原創博主。
@Controller("Test")
public class Test{
@RequestMapping("")
public ModelAndView one(){`這裡寫程式碼片`
ModelAndView mav =
mav.addObject("name","aaa"); mav.addObject("sex","男");
return mav; //跳轉到某一路徑下的index.jsp頁面
}
@RequestMapping("")
model.addAttribute("name","aaa");
model.addAttribure("sex", "男");
return "index"; ///跳轉到某一路徑下的index.jsp頁面
}
}
通過上面的程式碼展示就可以基本看出這兩者的區別,ModelAndView可以說是檢視和模型的結合體,但是在每次使用的時候都需要我們自己建立,並將想要目的頁面的邏輯檢視名作為引數,並通過addObject()方法新增屬性。
而Model是每個請求中都會自帶的,我們可以通過addAttribute()方法新增屬性,在跳轉頁面時直接返回該頁面的邏輯檢視名。
-------------------------------
Model是每次請求中都存在的預設引數,利用其addAttribute()方法即可將伺服器的值傳遞到jsp頁面中;
ModelAndView包含model和view兩部分,使用時需要自己例項化,利用ModelMap用來傳值,也可以設定view的名稱.