English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

JSP スタンダードタグライブラリ(JSTL)

JSP高度なチュートリアル

JSP標準タグライブラリ(JSTL)は、JSPアプリケーションの一般的な核心機能をエンブレスするJSPタグコレクションです。

JSTLタグが提供する機能に基づいて、それを一般的な、構造化されたタスク、例えばループ、条件判定、XMLドキュメント操作、国際化タグ、SQLタグに分類できます。これらに加えて、JSTLを使用してカスタムタグを統合するフレームワークも提供しています。5のカテゴリです。

  • コアタグ

  • フォーマットタグ

  • SQLタグ

  • 共有データベース接続内でネストされたデータベース動作要素を提供し、すべてのステートメントを1つのトランザクションとして実行します

  • JSTL関数

JSTLライブラリのインストール

Apache TomcatにJSTLライブラリをインストールする手順は以下の通りです:

Apacheの標準タグライブラリからダウンロードしたバイナリパッケージ(jakarta-taglibs-standard-current.zip)。

をダウンロードして jakarta-taglibs-standard-1.1.2.zip パッケージを解凍し、 jakarta-taglibs-standard-1.1.2/lib/ の下の2つのjarファイル:standard.jar および jstl.jar ファイルをコピーして /WEB-INF/lib/ 下に。

tldの下にある必要なtldファイルをコピーしてWEB-INFディレクトリ下に。

次に、web.xmlファイルに以下の設定を追加します:

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" 
    xmlns="http://java.sun.com/xml/ns/j2ee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
        http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
    <jsp-config>
    <taglib>
    <taglib-uri>http://java.sun.com/jsp/jstl/fmt</taglib-uri>
    <taglib-location>/WEB-INF/fmt.tld</taglib-location>
    </taglib>
    <taglib>
    <taglib-uri>http://java.sun.com/jsp/jstl/fmt-rt</taglib-uri>
    <taglib-location>/WEB-INF/fmt-rt.tld</taglib-location>
    </taglib>
    <taglib>
    <taglib-uri>http://java.sun.com/jsp/jstl/core</taglib-uri>
    <taglib-location>/WEB-INF/c.tld</taglib-location>
    </taglib>
    <taglib>
    <taglib-uri>http://java.sun.com/jsp/jstl/core-rt</taglib-uri>
    <taglib-location>/WEB-INF/c-rt.tld</taglib-location>
    </taglib>
    <taglib>
    <taglib-uri>http://java.sun.com/jsp/jstl/sql</taglib-uri>
    <taglib-location>/WEB-INF/sql.tld</taglib-location>
    </taglib>
    <taglib>
    <taglib-uri>http://java.sun.com/jsp/jstl/sql-rt</taglib-uri>
    <taglib-location>/WEB-INF/sql-rt.tld</taglib-location>
    </taglib>
    <taglib>
    <taglib-uri>http://java.sun.com/jsp/jstl/x</taglib-uri>
    <taglib-location>/WEB-INF/x.tld</taglib-location>
    </taglib>
    <taglib>
    <taglib-uri>http://java.sun.com/jsp/jstl/x-rt</taglib-uri>
    <taglib-location>/WEB-INF/x-rt.tld</taglib-location>
    </taglib>
    </jsp-config>
</web-app>

どのライブラリを使用するかに関わらず、各JSPファイルのヘッダーに<taglib>タグを含める必要があります。

コアタグ

コアタグは最もよく使用されるJSTLタグです。コアタグライブラリを参照する構文は以下の通りです:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
タグ 説明
<c:out> JSPでデータを表示するために使用されます、<%= ... %>と同様
<c:set> データを保存するために使用されます
<c:remove> データを削除するために使用されます
<c:catch> エラーが発生した場合の例外状況を処理し、エラーメッセージを保存するために使用されます
<c:if> 一般的なプログラムで使用するifと同じ
<c:choose> 自分自身は<c:when>と<c:otherwise>の親タグとしてのみ使用されます
<c:when> <c:choose>のサブタグで、条件が成立するかどうかを判断する
<c:otherwise> <c:choose>のサブタグで、<c:when>タグがfalseと評価された場合に実行されます
<c:import> 絶対または相対URLを検索し、その内容をページに公開する
<c:forEach> 基本的な反復タグで、複数の集合タイプを受け入れます
<c:forTokens> 指定された区切り文字に基づいて内容を分割し、反復して出力する
<c:param> 含まれるページやリダイレクトのページにパラメータを渡すために使用されます
<c:redirect> 新しいURLにリダイレクトする。
<c:url> オプションのクエリパラメータを使用してURLを作成する

フォーマットタグ

JSTLフォーマットタグは、テキスト、日付、時間、数字をフォーマットし出力するために使用されます。フォーマットタグライブラリの参照方法は以下の通りです:

<%@ taglib prefix="fmt" 
           uri="http://java.sun.com/jsp/jstl/fmt" %>
タグ 説明
<fmt:formatNumber> 指定されたフォーマットや精度で数字をフォーマットする
<fmt:parseNumber> 数字、通貨、パーセンテージを表す文字列を解析する
<fmt:formatDate> 指定されたスタイルやパターンで日付や時間をフォーマットする
<fmt:parseDate> 日付や時間を表す文字列を解析する
<fmt:bundle> リソースをバインドする
<fmt:setLocale> 地域を指定する
<fmt:setBundle> リソースをバインドする
<fmt:timeZone> 時区を指定する
<fmt:setTimeZone> 時区を指定する
<fmt:message> リソース設定ファイルの情報を表示する
<fmt:requestEncoding> requestの文字エンコーディングを設定する

SQLタグ

JSTL SQLタグライブラリは、関係型データベース(Oracle、MySQL、SQL Serverなど)とのインタラクションを行うタグを提供します。SQLタグライブラリの参照方法は以下の通りです:

<%@ taglib prefix="sql"} 
           uri="http://java.sun.com/jsp/jstl/<%@ taglib prefix="sql"}
タグ 説明
sql" %> <sql:setDataSource>
データソースを指定します <sql:query>
SQLクエリ文を実行します <sql:update>
SQL更新文を実行します <sql:param>
SQL文のパラメータを指定された値に設定します <sql:dateParam>
SQL文のデータ型パラメータを指定されたjava.util.Dateオブジェクトの値に設定します <sql:transaction>

共有データベース接続内でネストされたデータベース動作要素を提供し、すべてのステートメントを1つのトランザクションとして実行します

XMLタグ

JSTL XMLタグライブラリは、XMLドキュメントの作成と操作に使用されるタグを提供します。XMLタグライブラリを参照する構文は以下の通りです: 
           uri="http://java.sun.com/jsp/jstl/<%@ taglib prefix="x"

xmlタグを使用する前に、あなたの<Tomcatインストールディレクトリ>\libにXMLおよびXPathに関連するパッケージをコピーする必要があります:

タグ 説明
<x:out> <%= ... >と似ていますが、XPath表現にのみ使用されます
<x:parse> XMLデータを解析します
<x:set> XPath表現を設定します
<x:if> XPath表現を評価し、真である場合に本体の内容を実行し、そうでない場合はスキップします
<x:forEach> XMLドキュメント内のノードをイテレートします
<x:choose> <x:when>と<x:otherwise>の親タグ
<x:when> <x:choose>のサブタグであり、条件判定を行います
<x:otherwise> <x:choose>のサブタグであり、<x:when>がfalseと評価された場合に実行されます
<x:transform> XSL変換をXMLドキュメントに適用します
<x:param> <x:transform>と共に使用され、XSLスタイルシートの設定に用いられます

JSTL関数

JSTLには一連の標準的な関数が含まれており、その多くは一般的な文字列処理関数です。JSTL関数ライブラリを参照する構文は以下の通りです:

<%@ taglib prefix="fn" 
           uri="http://java.sun.com/jsp/jstl/functions" %>
関数 説明
fn:contains() 指定されたサブストリングを含むかどうかをテストする
fn:containsIgnoreCase() 指定されたサブストリングを含むかどうかをテストする(大文字小文字を区別しない)
fn:endsWith() 指定されたサフィックスで終わるかどうかをテストする
fn:escapeXml() XMLタグとして認識できる文字をスキップする
fn:indexOf() 指定された文字列が入力文字列にどの位置に存在するかを返す
fn:join() 配列の要素を文字列に合成して出力する
fn:length() 文字列の長さを返す
fn:replace() 指定された位置を指定された文字列で置き換えて返す
fn:split() 指定された区切り文字で分割された文字列を配列にして返す
fn:startsWith() 指定されたプレフィックスで始まるかどうかをテストする
fn:substring() 文字列のサブセットを返す
fn:substringAfter() 指定されたサブストリング以降の文字列のサブセットを返す
fn:substringBefore() 指定されたサブストリング以前の文字列のサブセットを返す
fn:toLowerCase() 文字列の文字を小文字に変換
fn:toUpperCase() 文字列の文字を大文字に変換
fn:trim() 先頭と末尾の空白文字を削除