2

ライブラリのバージョン: Spring 3.1.2、Tiles 2.2.2

次の設定で、外部 (共通) .jar からタイル定義 (つまり、以下の「BaseTile」) を拡張して使用することは可能ですか?

common.jar

/WEB-INF/common-tiles-defs.xml

<tiles-definitions>

    <definition name="BaseTile" template="/WEB-INF/tiles/BaseTile.jsp">
        <put-attribute name="content" value="" />
    </definition>

</tiles-definitions>

someproject.war

/WEB-INF/tiles-defs.xml

<tiles-definitions>

    <definition name="ProjectTile" extends="BaseTile">
        <put-attribute name="content" expression="${someData}" />
    </definition>

</tiles-definitions>

サーブレット-context.xml

<beans:beans>

    <!-- Tiles Configuration: View Resolver -->
    <beans:bean class="org.springframework.web.servlet.view.UrlBasedViewResolver">
        <beans:property name="viewClass">
            <beans:value>org.springframework.web.servlet.view.tiles2.TilesView</beans:value>
        </beans:property>
        <beans:property name="order" value="1" />
    </beans:bean>

    <!-- Tiles Configuration: Definitions -->
    <beans:bean id="tilesConfigurer" class="org.springframework.web.servlet.view.tiles2.TilesConfigurer">
        <beans:property name="definitions">
            <beans:list>
                <beans:value>classpath:/WEB-INF/common-tiles-defs.xml</beans:value> <!-- from common.jar -->
                <beans:value>/WEB-INF/tiles-defs.xml</beans:value>  <!-- from someproject.war -->
            </beans:list>
        </beans:property>
    </beans:bean>

</beans:beans>

webapp (someproject.war) をデプロイすると、common.jar 内に common-tiles-defs.xml が見つかるように見えますが、「ProjectTile」をレンダリングしようとすると、Tiles の DEBUG ログに次のように出力されます。

||20130716||15:20:36,074||||org.apache.tiles.access.TilesAccess||INFO ||Publishing TilesContext for context: org.springframework.web.servlet.view.tiles2.SpringTilesApplicationContextFactory$SpringWildcardServletTilesApplicationContext
||20130716||15:20:37,589||||org.apache.tiles.definition.dao.ResolvingLocaleUrlDefinitionDAO||DEBUG||Resolve definition for child name='ProjectTile' extends='BaseTile'.
||20130716||15:20:37,590||||org.apache.tiles.definition.dao.BaseLocaleUrlDefinitionDAO||DEBUG||File null not found, continue
||20130716||15:20:37,591||||org.apache.tiles.definition.dao.BaseLocaleUrlDefinitionDAO||DEBUG||File null not found, continue

どんな助けでも大歓迎です。

ありがとうございました。

4

0 に答える 0