是否可以在同一个Web应用程序中一起使用InternalResourceViewResolver和BeanNameViewResolver?
我的意思是InternalResourceViewResolver来解析我的jsp。
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" p:prefix="/WEB-INF/jsp/" p:suffix=".jsp"/>
而不是BeanNameViewResolver来解析我的excel(我需要传递url)。
再见。 感谢
答案 0 :(得分:9)
你可以在你的上下文中拥有尽可能多的视图解析器,Spring将逐个遍历它们,直到它解析一个解析视图。
但有一个大警告:
注意:链接
ViewResolvers
时, 总是InternalResourceViewResolver
需要是最后的,因为它会尝试 解决任何视图名称,无论如何 是否是底层资源 实际存在。
这是servlet API的“缺陷”,因为InternalResourceViewResolver
在实际尝试之前无法知道资源是否存在。
因此,请确保在BeanNameViewResolver
之前定义InternalResourceViewResolver
,或在每个order
上明确指定{{1}}属性。
答案 1 :(得分:3)
是的,您可以组合多个解析器。 Spring迭代它们并使用能够解析给定名称的第一个解析器。您还可以在解析器中设置order
属性以指定迭代顺序。