JSP 標準タグ ライブラリ (JSTL) は、JSP アプリケーションの共通のコア機能をカプセル化する JSP タグのコレクションです。
JSTL は、反復、条件判断、XML 文書操作、国際化タグ、SQL タグなどの一般的な構造化タスクをサポートします。 これらに加えて、JSTL と統合されたカスタム タグを使用するためのフレームワークも提供します。
JSTL タグが提供する機能に応じて、5 つのカテゴリに分類できます。
コアタグ
タグの書式設定
SQLタグ
XMLタグ
JSTL関数
Apache Tomcat に JSTL ライブラリをインストールする手順は次のとおりです。
Apache の標準タグ ライブラリからダウンロードされたバイナリ パッケージ (jakarta-taglibs-standard-current.zip)。ダウンロードアドレス: http://archive.apache.org/dist/jakarta/taglibs/standard/binaries/
jakarta-taglibs-standard-1.1.1.zip パッケージをダウンロードして解凍し、jakarta-taglibs-standard-1.1.1/lib/ にある 2 つの jar ファイル (standard.jar ファイルと jstl.jar ファイル) を /WEB- にコピーします。 INF /lib/以下。
次に、次の構成を web.xml ファイルに追加します。
…
<
jsp
-
構成
>
<タグリブ>
<
タグリブ
-
ウリ
>
http
:
//java.sun.com/jstl/fmt</taglib-uri>
<
タグリブ
-
位置
>
/WEB-INF/
fmt
。
tld
</
タグリブ
-
位置
>
</
タグリブ
>
<タグリブ>
<
タグリブ
-
ウリ
>
http
:
//java.sun.com/jstl/fmt-rt</taglib-uri>
<
タグリブ
-
位置
>
/WEB-INF/
fmt
-
RT
。
tld
</
タグリブ
-
位置
>
</
タグリブ
>
<タグリブ>
<
タグリブ
-
ウリ
>
http
:
//java.sun.com/jstl/core</taglib-uri>
<
タグリブ
-
位置
>
/WEB-INF/
c
。
tld
</
タグリブ
-
位置
>
</
タグリブ
>
<タグリブ>
<
タグリブ
-
ウリ
>
http
:
//java.sun.com/jstl/core-rt</taglib-uri>
<
タグリブ
-
位置
>
/WEB-INF/
c
-
RT
。
tld
</
タグリブ
-
位置
>
</
タグリブ
>
<タグリブ>
<
タグリブ
-
ウリ
>
http
:
//java.sun.com/jstl/sql</taglib-uri>
<
タグリブ
-
位置
>
/WEB-INF/
SQL
。
tld
</
タグリブ
-
位置
>
</
タグリブ
>
<タグリブ>
<
タグリブ
-
ウリ
>
http
:
//java.sun.com/jstl/sql-rt</taglib-uri>
<
タグリブ
-
位置
>
/WEB-INF/
SQL
-
RT
。
tld
</
タグリブ
-
位置
>
</
タグリブ
>
<タグリブ>
<
タグリブ
-
ウリ
>
http
:
//java.sun.com/jstl/x</taglib-uri>
<
タグリブ
-
位置
>
/WEB-INF/
×
。
tld
</
タグリブ
-
位置
>
</
タグリブ
>
<タグリブ>
<
タグリブ
-
ウリ
>
http
:
//java.sun.com/jstl/x-rt</taglib-uri>
<
タグリブ
-
位置
>
/WEB-INF/
×
-
RT
。
tld
</
タグリブ
-
位置
>
</
タグリブ
>
</
jsp
-
構成
>
…
ライブラリを使用するには、すべての JSP ファイルのヘッダーに <taglib> タグを含める必要があります。
コアタグは、最も一般的に使用される JSTL タグです。コア タグ ライブラリを参照するための構文は次のとおりです。
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
| ラベル | 説明する |
|---|---|
| <c:アウト> | <%= ...> のように、JSP でデータを表示するために使用されます。 |
| <c:セット> | データの保存に使用される |
| <c:削除> | データ削除用 |
| <c:キャッチ> | エラーの原因となる例外を処理し、エラー情報を保存するために使用されます。 |
| <c:if> | 一般的なプログラムで使う場合と同じです |
| <c:選択> | <c:when> と <c:otherwise> の親タグとしてのみ使用されます。 |
| <c:いつ> | <c:choose> のサブタグは、条件が true かどうかを判断するために使用されます。 |
| <c:その他> | <c:choose> のサブタグは <c:when> タグの後に接続されており、<c:when> タグが false と判定された場合に実行されます。 |
| <c:インポート> | 絶対 URL または相対 URL を取得し、そのコンテンツをページに公開します |
| <c:forEach> | 基本的な反復タグ、複数のコレクション型を受け入れる |
| <c:forトークン> | 指定された区切り文字に基づいてコンテンツを分離し、出力を反復します |
| <c:param> | インクルードされたページまたはリダイレクトされたページにパラメータを渡すために使用されます |
| <c:リダイレクト> | 新しい URL にリダイレクトします。 |
| <c:url> | オプションのクエリパラメータを使用して URL を作成する |
JSTL フォーマットタグは、テキスト、日付、時刻、数値をフォーマットして出力するために使用されます。書式設定タグ ライブラリを参照するための構文は次のとおりです。
<%@
タグライブラリ接頭辞
=
「fmt」
ウリ
=
「http://java.sun.com/jsp/jstl/fmt」
%>
| ラベル | 説明する |
|---|---|
| <fmt:フォーマット番号> | 指定された形式または精度を使用して数値をフォーマットします。 |
| <fmt:parseNumber> | 数値、通貨、またはパーセンテージを表す文字列を解析する |
| <fmt:formatDate> | 指定したスタイルまたはパターンを使用して日付と時刻を書式設定します |
| <fmt:parseDate> | 日付または時刻を表す文字列を解析する |
| <fmt:バンドル> | リソースをバインドする |
| <fmt:setLocale> | 指定エリア |
| <fmt:setBundle> | リソースをバインドする |
| <fmt:タイムゾーン> | タイムゾーンを指定する |
| <fmt:setTimeZone> | タイムゾーンを指定する |
| <fmt:メッセージ> | リソースプロファイル情報の表示 |
| <fmt:requestEncoding> | リクエストの文字エンコードを設定する |
JSTL SQL タグ ライブラリは、リレーショナル データベース (Oracle、MySQL、SQL Server など) と対話するためのタグを提供します。 SQL タグ ライブラリを参照するための構文は次のとおりです。
<%@ taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql" %>
| ラベル | 説明する |
|---|---|
| <sql:setDataSource> | データソースの指定 |
| <SQL:クエリ> | SQLクエリステートメントを実行する |
| <sql:更新> | SQL更新ステートメントを実行する |
| <sql:パラメータ> | SQL ステートメント内のパラメータを指定された値に設定します。 |
| <sql:dateParam> | SQL ステートメントの日付パラメータを、指定された java.util.Date オブジェクト値に設定します。 |
| <SQL:トランザクション> | 共有データベース接続でネストされたデータベース動作要素を提供し、すべてのステートメントをトランザクションとして実行します。 |
JSTL XML タグ ライブラリは、XML ドキュメントを作成および操作するためのタグを提供します。 XML タグ ライブラリを参照するための構文は次のとおりです。
<%@ taglib prefix="x" uri="http://java.sun.com/jsp/jstl/xml" %>
xml タグを使用する前に、XML および XPath 関連のパッケージを <Tomcat インストール ディレクトリ>lib にコピーする必要があります。
XercesImpl.jar:
ダウンロードアドレス: http://www.apache.org/dist/xerces/j/
xalan.jar:
ダウンロードアドレス: http://xml.apache.org/xalan-j/index.html
| ラベル | 説明する |
|---|---|
| <x:アウト> | <%= ... > に似ていますが、XPath 式でのみ使用されます。 |
| <x:解析> | XMLデータを解析する |
| <x:セット> | XPath式を設定する |
| <x:if> | XPath 式を決定します。それが true の場合は、オントロジー内のコンテンツを実行します。そうでない場合は、オントロジーをスキップします。 |
| <x:forEach> | XMLドキュメント内のノードを反復処理する |
| <x:選択> | <x:when> と <x:otherwise> の親タグ |
| <x:いつ> | <x:choose>のサブタグは条件判定に使用されます。 |
| <x:その他> | <x:choose> のサブタグは、<x:when> が false と判定された場合に実行されます。 |
| <x:変換> | XSL 変換を XML ドキュメントに適用する |
| <x:param> | <x:transform> と一緒に使用して XSL スタイル シートを設定します |
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:結合() | 配列内の要素を文字列に結合して出力します。 |
| fn:長さ() | 文字列の長さを返します |
| fn:replace() | 入力文字列内の指定された位置を指定された文字列に置き換えて返します。 |
| fn:split() | 指定された区切り文字で文字列を区切ってから、部分文字列の配列を形成して返します。 |
| fn:startsWith() | 入力文字列が指定されたプレフィックスで始まるかどうかをテストします |
| fn:部分文字列() | 文字列のサブセットを返します |
| fn:substringAfter() | 指定された部分文字列の後の文字列のサブセットを返します |
| fn:substringBefore() | 指定された部分文字列の前の文字列のサブセットを返します。 |
| fn:toLowerCase() | 文字列内の文字を小文字に変換します |
| fn:toUpperCase() | 文字列内の文字を大文字に変換する |
| fn:トリム() | 先頭の空白文字を削除する |