SpringMVC的Model、Model Map、ModelAndView

一直都在用Model設置屬性用於先後端傳值。java

今天在使用@RestController時,使用了ModelAndView傳值並返回試圖。spring

1.Model

  1. model通常用於先後端傳值。
  2. model不能用於返回試圖和跳轉地址
  3. model實例由springmvc框架建立並做爲控制器參數傳入,不用本身建立

2.ModelMap

  1. 看起來和Model沒有什麼不一樣

3.ModelAndView

  1. ModelAndView既能夠傳遞屬性,也能夠返回試圖
  2. ModelAndView須要本身new。
//一種直接new,而後setViewName設置返回試圖
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("index");
modelAndView.addObject("user",user);
return modelAndView;
複製代碼
//另外一種直接在構造函數內設置返回試圖
ModelAndView mav = new ModelAndView("index");
mav.addObject("user",user);
return mav;
複製代碼

注意:setViewName要設置成返回試圖的名稱,有時候"index"寫成"/index",會發生錯誤。後端

例如:EL1008E: Property or Field 'timestamp' cannot be found on object of type 'java.util.HashMap' - maybe not public?bash


參考mvc

SpringMVC Model、ModelMap和ModelAndView的區別和用法 Model、ModelMap和ModelAndView的使用詳解框架

相關文章
相關標籤/搜索