SpringMVC框架 第5章 處理響應數據
第5章 處理響應數據
5.1 SpringMVC 輸出模型數據概述
5.1.1提供了以下幾種途徑輸出模型數據
? 1)? ModelAndView: 處理方法返回值類型為 ModelAndView 時, 方法體即可通過該對象添加模型數據
? 2)? Map 及 Model: 入參為 springframework.ui.Model、
org.springframework.ui.ModelMap 或 java.uti.Map 時,處理方法返回時,Map 中的數據會自動添加到模型中。
? 3)? @SessionAttributes: 將模型中的某個屬性暫存到 HttpSession 中,以便多個請求之間可以共享這個屬性
? 4)? @ModelAttribute: 方法入參標注該注解后, 入參的對象就會放到數據模型中
5.2處理模型數據之 ModelAndView
5.2.1?ModelAndView介紹
? 1)? 控制器處理方法的返回值如果為 ModelAndView, 則其既包含視圖信息,也包含模型
數據信息。
2)添加模型數據:
MoelAndView addObject(String attributeName, Object attributeValue)
ModelAndView addAllObject(Map<String, ?> modelMap)
3)設置視圖:
void setView(View view)
void setViewName(String viewName)
5.2.2 實驗代碼
? 1)? 增加控制器方法? ? 4)? 斷點調試
5.2.2 源碼解析
5.3 處理模型數據之 Map
5.3.1?Map介紹
1)Spring MVC 在內部使用了一個 org.springframework.ui.Model 接口存儲模型數據
具體使用步驟
2)Spring MVC 在調用方法前會創建一個隱含的模型對象作為模型數據的存儲容器。
3)如果方法的入參為 Map 或 Model 類型,Spring MVC 會將隱含模型的引用傳遞給這些入參。
4)在方法體內,開發者可以通過這個入參對象訪問到模型中的所有數據,也可以向模型中添加新的屬性數據
5.3.2 實驗代碼
? 1)? 增加控制器方法
? 7)? 類層次結構
? 8)? 推薦:Map, ?便于框架移植。
? 9)? 源碼參考