2013-07-03 124 views

回答

16

InternalResourceViewResolverUrlBasedViewResolver的便利子類。

的JavaDoc中描述了一些InternalResourceViewResolver加入性質可能在某些情況下是有用的:

作爲UrlBasedViewResolver的便利子類支持InternalResourceView(即Servlet和JSP)和亞類,例如JstlView。

AlwaysInclude:控制是否正向或包括完成。

ExposeContextBeansAsAttributes:允許上下文中的所有bean作爲請求屬性可用,這意味着它們可以從JSP中的EL引用。

ExposedContextBeanNames:如果非null,則指定將被公開的bean的列表,而不是全部。從春季論壇

來源:Spring Q&A forum

8

Spring支持廣泛的視圖技術。 ViewResolver可以將任何已知的受支持的視圖技術插入到您的應用程序中。

UrlBasedViewResolver是一個簡單的視圖解析器,它通過將URL模式與相應的文件名進行匹配來簡單地解析不同技術的視圖。

UrlBasedViewResolver在這裏支持所有類型爲「AbstractUrlBasedView」的視圖技術。

AbstractJasperReportsViewAbstractPdfStamperViewAbstractTemplateViewInternalResourceViewRedirectViewTilesViewXsltViewAbstractUrlBasedView已知子類。

因此,當您使用UrlBasedViewResolver時,您可以使用AbstractUrlBasedView的任何一個子類作爲您的視圖技術的類型(通過僅設置相應的viewClass)。

InternalResourceViewResolverUrlBasedViewResolver的子類。

但是當你使用InternalResourceViewResolver,(這是UrlBasedViewResolver方便的子類),則只能使用InternalResourceView型的技術爲您的視圖技術。

我認爲這回答你的問題。

4

InternalResourceViewResolverUrlBasedViewResolver逸岸子類。

UrlBasedViewResolver - 視圖名稱直接解析爲URL。沒有提供明確的映射。視圖名稱將是URL本身,或者您可以根據您的設計添加prefixsuffix。您也可以前綴爲「重定向:」和「轉發:」來重定向並轉發您的請求。

InternalResourceViewResolver - 支持InternalResourceView的UrlBasedViewResolver的子類。一個InternalResourceView包裝JSP或相同Web應用程序的其他資源。您可以使用EL訪問JSP中的模型。

注意:有些URLBasedViewResolvers(瓷磚,速度的Freemarker)檢查是否存在資源和返回null。所以他們可以在視圖解析鏈中的任何地方。其他必須是最後一個(JSTL/JSP,XSLT,JSON)

所以InternalResourceViewResolver需要在視圖解析器鏈中最後,因爲它解析視圖名稱是否存在實際資源。

其他一些URLBasedViewReolver s爲

  1. 的InternalResourceViewResolver
  2. VelocityViewReolver
  3. FreeMarkerViewReolver
  4. ThymeleafViewResolver
  5. XsltViewReolver
相關問題