ModelAndView
該對象中包含了一個model屬性和一個view屬性
model:其實是一個ModelMap類型。其實ModelMap是一個LinkedHashMap的子類
view:包含了一些視圖信息
當視圖解釋器解析ModelAndVIew是,其中model本生就是一個Map的實現類的子類。視圖解析器將model中的每個元素都通過request.setAttribute(name, value);添加request請求域中。這樣就可以在JSP頁面中通過EL表達式來獲取對應的值
1、向ModelAndView中添加數據
方法1:可以通過ModelAndView的方法
public ModelAndView addObject(String attributeName, Object attributeValue)
具體代碼
1 ModelAndView mav=new ModelAndView("hello"); 2 mav.addObject("time", new Date());
方法2:由於我們知道其model屬性是一個Map的實現類。那么可以通過Map的方法來實現
1 mav.getModel().put("name", "caoyc");
完整代碼:
1 @RequestMapping("/test") 2 public ModelAndView test(){ 3 ModelAndView mav=new ModelAndView("hello"); 4 mav.addObject("time", new Date()); 5 mav.getModel().put("name", "caoyc"); 6 7 return mav; 8 }
在實例化ModelAndView時,其中參數為視圖名稱
JSP頁面
1 time:${requestScope.time} 2 <br/> 3 name:${name }
顯示結果: