InternalResourceViewResolver与UrlBasedViewResolver有何不同

Dar*_*ion 24 java spring

我刚开始使用Spring.我遇到了很多教程.我看到使用更多的例子InternalResourceViewResolverUrlBasedViewResolver.我查看了Spring文档,但我无法弄清楚使用其中一个的好处.有人可以提供一些解释吗?

NIN*_*OOP 17

InternalResourceViewResolver是一个方便的子类UrlBasedViewResolver.

JavaDoc描述了一些InternalResourceViewResolver在某些情况下可能有用的附加属性:

UrlBasedViewResolver的便捷子类,支持InternalResourceView(即Servlet和JSP)和子类,如JstlView.

AlwaysInclude:控制是否完成转发或包含.

ExposeContextBeansAsAttributes:允许上下文中的所有bean作为请求属性可用,这意味着可以从JSP中的EL引用它们.

ExposedContextBeanNames:如果为非null,则指定将公开的bean列表,而不是所有bean.

来自春季论坛的来源:春季问答论坛


Saz*_*man 8

Spring支持各种视图技术.ViewResolvers可以将任何已知的受支持视图技术插入到您的应用程序中.

UrlBasedViewResolver是一个简单的视图解析器,它通过将URL模式与相应的文件名匹配来简单地解析不同技术的视图.

UrlBasedViewResolver这里支持所有类型为" AbstractUrlBasedView " 的视图技术.

AbstractJasperReportsView,AbstractPdfStamperView,AbstractTemplateView,InternalResourceView,RedirectView,TilesView,XsltView是已知的子类AbstractUrlBasedView.

因此,在使用时,UrlBasedViewResolver您可以使用任何一个子类AbstractUrlBasedView作为视图技术的类型(仅通过设置相应的viewClass).

InternalResourceViewResolver是的子类UrlBasedViewResolver.

但是当您使用InternalResourceViewResolver时(它是一个方便的子类UrlBasedViewResolver),您只能使用类型技术InternalResourceView作为您的视图技术.

我认为这回答了你的问题.