这听起来像是一个奇怪的问题。这是我的情况:我正在使用 Spring MVC 3.x 编写一个 Web 应用程序我正在使用 UrlBasedViewResolver 和 Tiles 组合来解析视图。
我的 webContext.xml
<bean id="viewResolver" class="org.springframework.web.servlet.view.UrlBasedViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.tiles2.TilesView" />
</bean>
<bean id="tilesConfigurer" class="org.springframework.web.servlet.view.tiles2.TilesConfigurer">
<property name="definitions">
<list>
<value>/WEB-INF/tiles.xml</value>
</list>
</property>
</bean>
我的tiles.xml
<definition name="main" template="/WEB-INF/views/tiles/template.jsp">
<put-attribute name="resources" value="/WEB-INF/views/tiles/resources.jsp" />
<put-attribute name="header" value="/WEB-INF/views/tiles/header.jsp"/>
<put-attribute name="title" value="" />
<put-attribute name="content" value="" />
</definition>
<definition name="index" extends="main">
<put-attribute name="windowTitle" value="Some Name"/>
<put-attribute name="content" value="/WEB-INF/views/index.jsp"/>
</definition>
<definition name="dartWorkQueue" extends="main">
<put-attribute name="windowTitle" value="Some Name"/>
<put-attribute name="content" value="/WEB-INF/views/XXXWorkQueue.jsp"/>
</definition>
<definition>
......
</definition>
<definition>
......
</definition>
现在,我想要的是基于来自 JSP 的 URL 调用控制器的场景之一,处理程序方法应该指向一些将呈现输出而不是 JSP 的 java bean。
所以基本上,我的问题是,是否可以要求 UrlBasedViewResolver 查看两个不同的 xml 以获取视图分辨率。
例如:如果处理程序返回一个视图名称,它应该首先查看tiles.xml,如果在那里没有找到任何映射,那么它应该查看一些XXX.xml
或者我应该完全采取不同的方法。