1. 程式人生 > 程式設計 >Springmvc ModelAndView原理及用法詳解

Springmvc ModelAndView原理及用法詳解

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 型別時,瀏覽器跳轉只能是請求轉發。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。