天天看點

springMVC——視圖解析器

一、執行流程

請求處理方法執行完成後,最終傳回一個 ModelAndView 對象。對于那些傳回 String,View 或 ModeMap 等類型的處理方法,Spring MVC 也會在内部将它們裝配成一個ModelAndView 對象,它包含了邏輯名和模型對象的視圖Spring MVC 借助視圖解析器(ViewResolver)得到最終的視圖對象(View),最終的視圖可以是 JSP ,也可能是Excel、JFreeChart 等各種表現形式的視圖對于最終究竟采取何種視圖對象對模型資料進行渲染,•處理器并不關心,處理器工作重點聚焦在生産模型資料的工作上,進而實作 MVC 的充分解耦。

二、InternalResourceViewResolver

将視圖解析為一個URL檔案,一般使用該解析器将視圖名映射為一個儲存在WEB—INF目錄下的程式檔案(如JSP)

SpringMVC 為邏輯視圖名的解析提供了不同的政策,可 以在 Spring WEB 上下文中配置一種或多種解析政策,并指定他們之間的先後順序。每一種映射政策對應一個具體的視圖解析器實作類。視圖解析器的作用比較單一:将邏輯視圖解析為一個具體 的視圖對象。

所有的視圖解析器都必須實作 ViewResolver 接口:

springMVC——視圖解析器

三、InternalResourceView

将JSP或其他資源封裝成一個視圖,是InternalResourceViewResolver預設使用的視圖實作類

視圖的作用是渲染模型資料,将模型裡的資料以某種形式呈現給客 戶。

為了實作視圖模型和具體實作技術的解耦,Spring  org.springframework.web.servlet 包中定義了一個高度抽象的 View

接口:

springMVC——視圖解析器

視圖對象由視圖解析器負責執行個體化。由于視圖是無狀态的,是以他 們

不會有線程安全的問題

繼續閱讀