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