1

这听起来像是一个奇怪的问题。这是我的情况:我正在使用 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

或者我应该完全采取不同的方法。

4

0 回答 0