Definitionのエクステンド

前回書いたレイアウトとDefinitionを使って、新しいページを作ります。 ヘッダー、メニュー、フッターはそのままで、ページタイトルとbodyを変更するとします。
layout.MainLayout*1のdefinitionの後に続けて書きます。


<definition name="site.body.product" extends="layout.MainLayout">
→このdefinitionは"site.body.product"と言う名前で、layout.MainLayoutをエクステンドする。
<put name="title" value="製品情報" />
<put name="body" value="/WEB-INF/tiles/pages/product.jsp" />
</definition>
lauyout.MainLayoutをエクステンドすると、すべてのアトリビュート(title, header, menu, body, footer)をインヘリットします。 そして、新しいdefinitionをカスタマイズするために title と body をオーバーロードします。 このインヘリタンスのおかげで、メインのレイアウトを変更したい場合、ルートdefinitionを変更すれば同時にその下のすべてのページが変更されることになります。