レイアウトを使用する
では、作成したdefault.jspレイアウトを使ったWebページを作成してみましょう。先ほどのhelo.jspをそのまま書き換えてもかまいません。以下のように記述をしてください。
<%@ page language="java" contentType="text/html; charset=sjis"
pageEncoding="sjis"%>
<%@ taglib prefix="stripes"
uri="http://stripes.sourceforge.net/stripes.tld"%>
<stripes:layout-render name="/layout/default.jsp">
<stripes:layout-component name="html_head">
<title>Helo Page</title>
</stripes:layout-component>
<stripes:layout-component name="contents">
※これは、レイアウトを使ったページの表示です。
</stripes:layout-component>
</stripes:layout-render>

アクセスしてみると、ヘッダーとフッターがつけられ、スタイルシートが設定された状態でページが表示されます。ページタイトルやコンテンツもきちんと表示されているはずです。
ここでは、<stripes:layout-render>というタグが用意されていますが、これがレイアウトを使って表示する内容になります。name属性で、使用するレイアウトファイルを指定していることが分かります。
このタグ内では、<stripes:layout-component>タグを使って表示するレイアウトコンポーネントを定義します。ここでは、name="html_head"とname="contents"の2つのコンポーネントが記述されています。先ほどのdefault.jspで、同名の<stripes:layout-component>タグが用意されていたのを思い出してください。
このように、<stripes:layout-render>側で<stripes:layout-component>タグを定義すると、ロードしたレイアウトにある同名の<stripes:layout-component>タグ部分にその内容がはめ込まれ、表示されるようになります。ここではヘッダーとコンテンツの2つを用意していますが、もちろんいくつのコンポーネントを用意してもかまいません。コンポーネントをいくつも組み合わせることで、かなり複雑なレイアウトも作成可能となることが分かるでしょう。
まとめ
今回は、Webページの表示に関する機能を中心に解説を行いました。とりあえず、Stripesに用意されている表示用の独自タグを使えるようにするだけでも、Stripesがどういう働きをするかわかってきます。Stripesでは、表示用の独自タグがかなり充実しています。ここで紹介したほかにも、<stripes:link>や<stripes:image>といったリンクやイメージ用タグといったものなど、さまざまなものが用意されています。
Stripesの表示用のタグを駆使すれば、ビューの部分をきれいに切り分けるだけでなく、必要に応じてコントローラー側と連携させることができるようになります。これだけでも、Stripesを導入するメリットは十分あるのではないでしょうか。
