摘要:如果一個視圖解析器沒有找到視圖,就會檢查上下文中的其他視圖解析器。視圖解析器約定指出,一個視圖可以返回來指定找不到的視圖。這中情況在和其他視圖中也存在。所以,把放在鏈中的某個地方而不是最后,因為總會返回一個視圖
??Spring 支持多個視圖解析器。因此,你可以串連解析器,并且在特定的情況下重寫指定視圖。你可以通過在應用程序上下文中添加多個視圖解析器來把它們串連起來,并且如果有必要的話,也可以設置 order 屬性來指定順序。注意,order 屬性值越大,視圖解析器在鏈中的位置越靠后。
??在下面的例子中,視圖解析器鏈由兩個解析器組成:InternalResourceViewResolver 永遠都被自動放到解析器鏈的末端;XmlViewResolver 用于指定 Excel 視圖。InternalResourceViewResolver 不支持 Excel 視圖。
??如果一個視圖解析器沒有找到視圖,Spring 就會檢查上下文中的其他視圖解析器。如果有其他視圖解析器存在,繼續用它們尋找視圖,直到找到一個視圖位置。如果最終也找不到視圖,Spring 會拋出一個 ServletException。
??視圖解析器約定指出,一個視圖可以返回 null 來指定找不到的視圖。不是所有的視圖解析器都這么做,因為在一些情況下,視圖不能簡單地檢測視圖是否存在。例如,InternalResourceViewResolver 在內部使用 RequestDispatcher,調度(dispatching)是計算 JSP 是否存在的唯一方法,但是這個動作只能執行一次。這中情況在 FreeMarkerViewResolver 和其他視圖中也存在。可以在特定視圖解析器的 JavaDoc 中查看它是否報告不存在的視圖。所以,把 InternalResourceViewResolver 放在鏈中的某個地方而不是最后,因為 InternalResourceViewResolver 總會返回一個視圖!
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/66076.html
摘要:視圖解析框架同其它框架一樣,是請求驅動的,圍繞中心設計的。中心會分配請求到各個,以及提供其它功能。有個接口對于處理視圖來說是很重要的,一個是,另一個是。如果屬性被設置為的話,就會觸發從中加載所有基類為的,然后存入列表。 Spring Web MVC 視圖解析 Spring web MVC 框架同其它web MVC 框架一樣,是請求驅動的(request driven),圍繞中心Serv...
摘要:概述本章開始進入另一重要的組件,即視圖組件,處理視圖組件使用兩個主要的接口是和。接口的作用是用于處理視圖進行渲染。延用之前的介紹流程,本章分兩部分進行闡述啟動初始化和請求處理。 概述 本章開始進入另一重要的組件,即視圖組件,Spring MVC處理視圖組件使用兩個主要的接口是ViewResolver和View。根據名稱可知,ViewResolver即視圖解析器,其作用是把邏輯視圖名稱解...
摘要:概述本章繼續學習另一個實現類解析器,該類的主要作用是根據同一請求的某些策略,選擇對應的進行渲染。可以把理解為適配器,對不同類型進行適配。值得注意的是處理的為同一個。本系列文章是基于。實戰需求目標實現后綴名或參數控制,顯示不同的視圖。 概述 本章繼續學習ViewResolver另一個實現類ContentNegotiatingViewResolver解析器,該類的主要作用是根據同一請求的某...
摘要:概述本節學習下的功能,簡單來說,該類的作用就是把多個視圖解析器進行組裝,內部使用存儲配置使用的視圖解析器。總結本章介紹了類,根據測試,了解到屬性不影響中配置使用的視圖解析器順序。 概述 本節學習下ViewResolverComposite的功能,簡單來說,該類的作用就是把多個ViewResolver視圖解析器進行組裝,內部使用list存儲配置使用的視圖解析器。 本系列文章是基于Spri...
摘要:概述上篇學習了視圖解析器作用及處理流程,為我們提供了豐富的視圖解析器見下圖本系列文章是基于。該視圖解析器是根據處理器返回的邏輯視圖名稱,在應用上下文中查找該名稱的視圖對象視圖對象就是的對象。 概述 上篇學習了Spring MVC ViewResolver視圖解析器作用及處理流程,Spring為我們提供了豐富的視圖解析器(見下圖):showImg(https://segmentfault...
閱讀 2810·2021-10-26 09:48
閱讀 1671·2021-09-22 15:22
閱讀 4030·2021-09-22 15:05
閱讀 608·2021-09-06 15:02
閱讀 2607·2019-08-30 15:52
閱讀 2107·2019-08-29 18:38
閱讀 2755·2019-08-28 18:05
閱讀 2332·2019-08-26 13:55