Taglibs
Taglibsって?
Jakarta Taglibsサブプロジェクトでは、
Webアプリケーションを作成する上で、
便利なカスタムタグを提供しています。
ここでは、カスタムタグと
JSTLについて簡単に触れたいと思います。
カスタムタグって?
カスタムタグというのは、JSPでViewを実装する技術の1つで、
名前の通りオリジナルのタグを作ります。
スクリプトレッドで書く代わりにカスタムタグを使うことで、
以下のような利点があります。
- JSPページがすっきりする
- Webデザイナーがタグを使ってページを作成できる
スクリプトレットで実装した例
<%
for(int i=0; i<list.size(); i++){
User user = (User)list.get(i);
%>
<%=user.getName() %>
<%=user.getAge() %>
<%
}
>%
カスタムタグで実装した例
<c:forEach var="user" items="${list}">
<c:out value="${user.name}"/>
<c:out value="${user.age}"/>
</c:forEach>
ページがすっきり見易く作れるので後で直しやすいし
、プログラマーとデザイナーの分業も進みます。
カスタムタグサンプル
私自身、カスタムタグをほとんど使ったことがなかったので、
JSTLを触る前に、簡単なカスタムタグをいくつか作ってみました。
超入門レベルでは
JavaでHello World JSP(カスタムタグ)編などが参考になります。
タグハンドラ
・HelloTag.java
・EchoTag.java
・RoopTag.java
タグライブラリディスクリプタ
・tag01.tld
カスタムタグを使うJSP
・test01.jsp
簡単に作りたい場合、web.xmlにマッピングを書かずに
JSPから直接TLDファイルにマッピングも可のようです。
<%@ taglib uri="/WEB-INF/tag01.tld" prefix="t" %>
JSTLサンプル
JSPはJSP Standard Tag Libraryの略で、訳すと標準タグライブラリです。
ループ、条件式などの
よく使うカスタムタグが標準化され、提供されています。
JSTLを使うには、まず、バイナリをダウンロードします。
Jakarta-taglibのbinaryダウンロードページ
のstandard/ディレクトリに目的の物があります。
2002/8/26現在の最新版は1.0.1です。
ダウンロードしたファイルを解凍したすると、中に
standard-examples.war
というサンプルのWARファイルがあります。
これを真似て自分でもいくつか作ってみました。
実行にはWebアプリケーションのlibディレクトリに、
最低限jstl.jarとstandard.jarを配置し、
JSP(かweb.xml)から指定した位置にTLDファイルを配置する必要があります。
test01.jsp
Iterationタグのサンプル
Man.java
上のサンプルで使ったクラス
test02.jsp
条件分岐タグのサンプル
これだけだとけっこう簡単ですね。
参考
JavaWorld 2002.6〜 Taglib研究室
(2002/8/26)
もどる