ライブラリのバージョン: 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
どんな助けでも大歓迎です。
ありがとうございました。