1. 程式人生 > >Model、ModelMap和ModelAndView的用法總結

Model、ModelMap和ModelAndView的用法總結

三者的區別

Model

Model是一個介面,它的實現類ExtendModelMap繼承自ModelMap類
    public class ExtendModelMap extends ModelMap implements Model

ModelMap

ModelMap繼承LinkedHashMap
public class ModelMap extends LinkedHashMap<String ,Object>
ModelMap物件主要用於將資料傳遞到前端頁面。
//存放資料的具體的方法
addAttribute(
String key,Object value);

JSP頁面獲取資料的方法如下:

<!--通過EL表示式來獲取ModelMap中存放的資料-->
${key}
ModelMap本身不能設定頁面的跳轉的URL地址或者物理跳轉地址,我們可以通過控制器方法的返回值來設定。

ModelAndView

ModelAndView指的是模型與檢視的集合,它的例項需要手動去建立 常用方法:
  1. 設定轉向地址:
ModelAndView mav = new ModelAndView("viewname");
/*或者通過下面方式
*   ModelAndView mav = new ModelAndView();
*   mav.setViewName("viewname");
*/
  1. 將控制器方法中處理的資料傳遞到結果頁面,也就是把結果頁面上需要的資料放在ModelAndView物件中即可,其作用類似於request中的setAttribute()方法的作用,用來在一個請求過程中傳遞處理的資料。
ModelAndView mav = new ModelAndView();
//這兩種用法不一樣,需要在運用中體會
mav.addObject(String name;Object value);//向模型中新增屬性
mav.addObjext(Object value);//使用引數名生成模型新增屬性

參考文件:
https://blog.csdn.net/qq_41357573/article/details/84675535