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 に基づいてコントローラーが呼び出されるシナリオの 1 つで、ハンドラー メソッドは、JSP の代わりに出力をレンダリングする Java Bean に指示する必要があります。

基本的に、私の質問は、UrlBasedViewResolver にビューの解決のために 2 つの異なる xml を調べるように依頼することは可能かということです。

例: ハンドラーがビュー名を返す場合、最初に tiles.xml を検索し、そこにマッピングが見つからない場合は、XXX.xml を検索する必要があります。

または、まったく別のアプローチを取る必要があります。

4

0 に答える 0