19.3. 組み合わせの継承
前節の最後のTiles設定ファイルを見ますと、タイトルとコンテンツの部分は変化しますが、メニューは変わりません。たくさんの組み合わせを定義していきますと、このように、ある組み合わせは他のある1部分を変えただけということがよくあります。そういった場合に組み合わせの継承を利用します。
組み合わせを継承する場合には、Tiles設定ファイルの<definition>タグで、path属性の代わりに「extends」属性を使用します。extends属性では継承する組み合わせの名前を指定します。extends属性を用いると、新たに定義した部分を除いて、継承元の定義に従います。前節のTiles設定ファイルをextends属性を用いるように変更します。
... <definition name="main2" extends="main"> <put name="title" value="タイトル" /> <put name="content" value="/WEB-INF/jsp/content2.jsp" /> </definition> </tiles-definitions>
これによってヘッダー/コンテンツの部分は新たに定義した内容に従いますが、メニューの部分は継承元「main」の定義に従います。
<tiles:insert><tiles:getAsString>を用いた置き換え、および組み合わせの継承の2つで、ほとんどのTileを組み合わせたページを作成する事ができます。以降の章では、更に複雑なレイアウトを持ったページの作成について説明します。
(実習課題3)
実習課題2のWebアプリケーションを改良しなさい。
- extendsを使用し、ヘッダーの部分だけが異なる新たなページを追加すること。