我刚开始使用Spring.我遇到了很多教程.我看到使用更多的例子InternalResourceViewResolver比UrlBasedViewResolver.我查看了Spring文档,但我无法弄清楚使用其中一个的好处.有人可以提供一些解释吗?
NIN*_*OOP 17
InternalResourceViewResolver是一个方便的子类UrlBasedViewResolver.
JavaDoc描述了一些InternalResourceViewResolver在某些情况下可能有用的附加属性:
UrlBasedViewResolver的便捷子类,支持InternalResourceView(即Servlet和JSP)和子类,如JstlView.
AlwaysInclude:控制是否完成转发或包含.
ExposeContextBeansAsAttributes:允许上下文中的所有bean作为请求属性可用,这意味着可以从JSP中的EL引用它们.
ExposedContextBeanNames:如果为非null,则指定将公开的bean列表,而不是所有bean.
来自春季论坛的来源:春季问答论坛
Spring支持各种视图技术.ViewResolvers可以将任何已知的受支持视图技术插入到您的应用程序中.
UrlBasedViewResolver是一个简单的视图解析器,它通过将URL模式与相应的文件名匹配来简单地解析不同技术的视图.
UrlBasedViewResolver这里支持所有类型为" AbstractUrlBasedView " 的视图技术.
AbstractJasperReportsView,AbstractPdfStamperView,AbstractTemplateView,InternalResourceView,RedirectView,TilesView,XsltView是已知的子类AbstractUrlBasedView.
因此,在使用时,UrlBasedViewResolver您可以使用任何一个子类AbstractUrlBasedView作为视图技术的类型(仅通过设置相应的viewClass).
InternalResourceViewResolver是的子类UrlBasedViewResolver.
但是当您使用InternalResourceViewResolver时(它是一个方便的子类UrlBasedViewResolver),您只能使用类型技术InternalResourceView作为您的视图技术.
我认为这回答了你的问题.