Springmvc ModelAndView原理及用法詳解
阿新 • • 發佈:2020-10-27
ModelAndView以org.springframework.ui.ModelMap的形式來保持模型資料,通過構造方bai法傳入的或者通過例項方法新增的模型資料都將新增到這個ModelMap中。至於ModelMap中保持的模型資料將會在檢視渲染階段,由具體的View實現類來獲取並使用。
我們需要為新增到ModelAndView的一組或者多組模型資料提供相應的鍵(Key),以便具體的View實現類可以根據這些鍵獲取具體的模型資料,然後公開給檢視模板。通常,模型中的資料對應的鍵需要與檢視模板中的標誌符相對應
ModelAndView 是 SpringMVC 為我們提供的一個物件,該物件也可以用作控制器方法的返回值。
該物件中有兩個方法
- addObject(String attributeName,Object attributeValue):新增物件到該模型中
- 可以在頁面直接用el表示式獲取物件
- setViewName(@Nullable String viewName):設定邏輯檢視名稱,檢視解析器會根據名稱前往指定的檢視
示例
控制器程式碼
/** * 返回ModeAndView * @return */ @RequestMapping("/testReturnModelAndView") public ModelAndView testReturnModelAndView() { ModelAndView mv = new ModelAndView(); mv.addObject("username","張三"); mv.setViewName("success"); return mv; }
jsp取值
${requestScope.username}
注意:我們在頁面上上獲取使用的是 requestScope.username 取的,所以返回 ModelAndView 型別時,瀏覽器跳轉只能是請求轉發。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。