我正在使用带有spring mvc 3的weblogic门户,并且要求在视图解析器中有一些备份jsp文件,以防找不到jsp,那么应该从第二个路径尝试它,如下面的代码所示:
<bean
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass"
value="org.springframework.web.servlet.view.JstlView" />
<property name="prefix" value="/WEB-INF/jsp/path1/" />
<property name="suffix" value=".jsp" />
<property name="order" value="1" />
</bean>
<bean class="org.springframework.web.servlet.view.UrlBasedViewResolver">
<property name="viewClass"
value="org.springframework.web.servlet.view.JstlView" />
<property name="prefix" value="/portlet/application/path2/" />
<property name="suffix" value=".jsp" />
<property name="order" value="2" />
</bean>
我读过有关在视图解析器中添加order
这样做的内容,但同样没有对此提出任何建议。
答案 0 :(得分:1)
首先InternalResourceViewResolver
should have largest order(优先级较低)
链接
ViewResolvers
时,UrlBasedViewResolver
将检查指定的资源是否确实存在。但是,对于InternalResourceView
,通常不可能预先确定目标资源的存在。在这种情况下,对于任何给定的视图名称,UrlBasedViewResolver
将始终返回View;因此,它应该被配置为链中的最后一个ViewResolver
。
但遗憾的是,这两个解析器无法链接,因为InternalResourceViewResolver
扩展UrlBasedViewResolver
因此始终会解析视图,并且无法委托给下一个ViewResolver
。