私は自分の Web アプリケーションで Tiles 2 を使用しています。また、tiles.xml ファイルで得た基本的なセットアップは次のとおりです。
<tiles-definitions>
<definition name="mainLayout" template="/jsp/layout.jsp">
<put-attribute name="header" value=""/>
<put-attribute name="menu" value="/jsp/defaultMenu.jsp" />
<put-attribute name="content" value="" />
<put-attribute name="footer" value="/jsp/footer.jsp" />
</definition>
<definition name="HomePage" extends="mainLayout">
<put-attribute name="content" type="template" value="/jsp/home.jsp"/>
<put-attribute name="homeClass" value="active" />
</definition>
... rest omitted for brevity.
レイアウトを定義する layout.jsp では、適切な場所にメニューを含めます。
<tiles:insertAttribute name="menu" />
そこで、メニュー テンプレート内で、tiles.xml で定義された homeClass 属性を使用したいと考えました。
<tiles:insertAttribute name='homeClass'/>
しかし、homeClass 属性が定義されていないというエラーが表示されます。layout.jsp で insertAttribute を実行すると、値は適切に定義されますが、レイアウトに含まれるメニュー JSP で定義する必要があります。
それで、私の質問は次homeClassのとおりです。レイアウト テンプレートだけでなく、レイアウト テンプレートから含まれるメニュー テンプレートにも属性を正しく渡す にはどうすればよいですか?