昼間のメモ

お仕事をしているときに、あっ!と思いついたことはすぐに忘れてしまいますので、とにかく残すためのメモです。

カスタムtaglibのサンプル

2007-08-10 09:10:38 | Weblog

カスタムtaglib(tag library)のサンプルです。

セットアップ

mytaglib.warをデプロイしてください。

WEB-INF/srcにソースがあります。ビルドするにはclasspathを修正してください。

Helloタグ

<myt:hello>World</myt:hello>

と記述すると、

Hello World !

と出力されるカスタムタグです。

HelloTagクラスのdoStartTagとdoEndTagで接頭辞(prefix)と接尾辞(suffix)を付加しています。

Loopタグ

<myt:loop maxCount="4">Nested Tag</myt:loop>

と記述すると、

<ol><li>Nested Tag<li>Nested Tag<li>Nested Tag<li>Nested Tag</ol>

と出力されるカスタムタグです。

タグの属性に指定するパラメータは、mytaglib.tldにattributeタグを指定し、LoopTagクラスにsetterを用意します。DIコンテナのように値がsetterインジェクションされます。

組み合わせ

<myt:loop><myt:loop maxCount="4"><myt:hello>Nested Tag</myt:hello></myt:loop></myt:loop>

のように組み合わせることもできます。

実行すると、以下のようになります。

    1. Hello Nested Tag !
    2. Hello Nested Tag !
    3. Hello Nested Tag !
    4. Hello Nested Tag !
    1. Hello Nested Tag !
    2. Hello Nested Tag !
    3. Hello Nested Tag !
    4. Hello Nested Tag !
    1. Hello Nested Tag !
    2. Hello Nested Tag !
    3. Hello Nested Tag !
    4. Hello Nested Tag !

 

ジャンル:
ウェブログ
キーワード
インジェクション
コメント (0) |  トラックバック (0) |  この記事についてブログを書く
Messenger この記事をはてなブックマークに追加 mixiチェック シェア
« JavaScriptの変数... | トップ | JSR208: Java Bus... »

コメント

コメントはありません。

コメントを投稿


コメント利用規約に同意の上コメント投稿を行ってください。
※文字化け等の原因になりますので、顔文字の利用はお控えください。
下記数字4桁を入力し、投稿ボタンを押してください。この数字を読み取っていただくことで自動化されたプログラムによる投稿でないことを確認させていただいております。
数字4桁

トラックバック

この記事のトラックバック  Ping-URL

あわせて読む