Javaの道 Javaに関する
 ニュースJava基本Servlet・JSPオープンソースFAQ掲示板
Javaの道 > オープンソース > Taglibs −2.Standard Taglibsの概要
更新日:2006/6/6
Taglibs−2.Standard Taglibsの概要
ここでは、Taglibsプロジェクトの内、JSTL(JSP Standard Tag Library)を実装したStandard Taglibsの概要について解説します。

実行環境
・WindowsXP Home Edition
・J2SDK 1.4.2_04
・Tomcat 5.0.18
・Standard Taglib 1.1.0
式言語(Express Language)
式言語(Express Language)とは、JSPの特徴であるデザイナとプログラマの分業を進めるために導入されたJavaコードを簡易に表現する方法です。Standard Taglibsで使用できるほか、JSP2.0でも導入される予定です 。JSPで変数やオブジェクトの値を取得する場合、<%= register.getName( ) %>や<% String name = request.getParameter("name"); %>といった処理を行います。これらのコードがJSPファイル内に頻繁に表れると、コードが読みにくいものとなります。式言語(EL)を使用すると、これらのコードをより簡潔に記述できるようになります。
【ELの使用例】
EL使用
EL未使用
処理内容
${value}
<%= value %>
valueの値を取得
${register.name}
<%= register.getName( ) %>
registerオブジェクトのnameプロパティを取得
${requestScope.value}
<% String value = (String)request.
getAttribute("value");
%>
リクエストスコープを持つ、valueオブジェクトを取得
${param.name}
<% String value = request.
getParameter("name");
%>
前ページのテキストボックス(name)の値を取得
${paramValues.family}
<% String[ ] values = request.
getParameterValues("family");
%>
前ページのチェックボックス(family)の値を取得
タグライブラリ
Standard Taglibsには5つのタグライブラリが用意されています。
1.coreタグライブラリ
基本的な処理を行うタグライブラリです。値をセットする<c:set>、値を表示する<c:out>、条件分岐を行う<c:if>などのタグがあります。


2.I18nタグライブラリ

言語・日付・時刻などのローカライズ処理を行うタグライブラリです。ロケールを設定する<fmt:setLocale>、日付・時刻の書式を設定する<fmt:formatDate>、数値の書式を設定する<fmt:formatNumber>などのタグがあります。


3.SQLタグライブラリ

データベース操作に関する処理を行うタグライブラリです。コネクション情報を設定する<sql:setDataSource>、select処理を行う<sql:query>、トランザクションの指定を行う<sql:transaction>などのタグがあります。


4.XMLタグライブラリ

XML処理を行うタグライブラリです。XML文書を解析する<x:parse>、XMLデータを出力する<x:out>、条件分岐を行う<x:choose>、<x:when>などのタグがあります。


5.Functionsタグライブラリ

主に文字列処理を行うタグライブラリです。文字列を検索するfn:contains、文字列を変換するfn:replace、文字列を抜き出すfn:substringなどのタグがあります。


タグライブラリを使用する際はJSPファイルにtaglibディレクティブを記載します。taglibディレクティブのuri属性にタグライブラリのURIを、prefix属性にそのタグライブラリを使用する際にタグに指定するprefixを指定します。JSTLのuri属性とprefix属性はJSTL仕様書で、以下の値を指定することが推奨されています。
【uri属性、prefix属性の推奨値】
タグライブラリ
uri属性
prefix属性
core
http://java.sun.com/jsp/jstl/core
c
I18n
http://java.sun.com/jsp/jstl/fmt
fmt
SQL
http://java.sun.com/jsp/jstl/sql
sql
XML
http://java.sun.com/jsp/jstl/xml
x
Functions
http://java.sun.com/jsp/jstl/functions
fn
Taglibs_taglibディレクティブ
使用例
Standard Taglibsの使用例について解説します。例題では、前ページの入力画面(form.html)で入力された値を、次ページの表示画面(result.jsp)で表示する処理を行います。
1.HTMLファイルの作成
前ページの入力画面(form.html)を作成します。
【form.html】
<html>
<title><head>入力画面(form.html)</head></title>
<body>

名前を入力してください。
<!-- (1)遷移先にresult.jspを指定 -->
<form action="result.jsp" method="post">
  <input type="text" name="name">
  <input type="submit" value="送信" name="submit">
</form>

</body>
</html>
2.JSPファイルの作成
次ページの表示画面(result.jsp)を作成します。
【result.jsp】
<%@ page contentType="text/html; charset=Shift_JIS" %>
<!-- (1)taglibディレクティブの指定 -->
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>

<html>
<head><title>表示画面(result.html)</title></head>
<body>

あなたの名前は
<!-- (2)c:outタグで、${param.name}の値を表示。${param.name}は
       前ページのテキストボックス(name)を値を表す。 -->
<c:out value="${param.name}" />
です。

</body>
</html>
3.ファイルの配置
Tomcat上で動作させるために、必要なディレクトリ・ファイルを配置します。
3-1. 今回動作させるWebアプリケーションのコンテキストのルートディレクトリをEXStandardとします。$CATALINA_HOME\webapps配下にEXStandardディレクトリを作成します。$CATALINA_HOMEはTomcatのルートディレクトリを表します。
3-2. $CATALINA_HOME\webapps\EXStandard配下にWEB-INFディレクトリを、$CATALINA_HOME\webapps\EXStandard\WEB-INF配下にlibディレクトリを作成します。
3-3. Standard Taglibsのバイナリ版を解凍した中にjstl.jarファイルとstandard.jarファイルがあります。
$CATALINA_HOME\webapps\EXStandard\WEB-INF配下にそれらのjarファイルをコピーします。Standard Taglibsのバイナリ版のダウンロード方法については「Javaの道:Taglibs(インストール)」を参照してください。
3-4. $CATALINA_HOME\webapps\EXStandard配下に今回作成したform.html、result.jspを配置します。最終的なディレクトリ構成は以下のようになります。
Taglibs_ファイルの配置
4.動作確認
Tomcatを起動させ、http://localhost:8080/EXStandard/form.htmlにアクセスします。表示された入力フォームに値を入力し、「送信」ボタンを押します。次ページで入力フォームで入力した値が表示されると正常に動作しています。※今回は日本語処理をしていないため、入力フォームには日本語を入力しないでください。
Taglibs_動作確認



このページのトップへ
 ニュースJava基本Servlet・JSPオープンソースFAQ掲示板
Javaの道_CopyrightJavaの道