Jsp-standard-tag-library

提供:Dev Guides
移動先:案内検索

JSP-標準タグライブラリ(JSTL)チュートリアル

この章では、JSPのさまざまなタグを理解します。 JavaServer Pages標準タグライブラリ(JSTL)は、多くのJSPアプリケーションに共通するコア機能をカプセル化する便利なJSPタグのコレクションです。

JSTLは、反復や条件などの一般的な構造タスク、XMLドキュメントを操作するためのタグ、国際化タグ、SQLタグをサポートしています。 また、既存のカスタムタグとJSTLタグを統合するためのフレームワークも提供します。

JSTLライブラリをインストールする

JSPタグの使用を開始するには、最初にJSTLライブラリをインストールする必要があります。 Apache Tomcatコンテナを使用している場合は、次の2つの手順に従ってください-

ステップ2 *- Jakarta Taglibsディストリビューション*から標準Taglibを使用するには、ディストリビューションの 'lib’ディレクトリにあるJARファイルをアプリケーションの webapps \ ROOT \ WEB-INF \ lib ディレクトリにコピーします。

ライブラリを使用するには、ライブラリを使用する各JSPの上部に<taglib>ディレクティブを含める必要があります。

JSTLタグの分類

JSTLタグは、その機能に応じて、JSPページの作成時に使用できる次のJSTLタグライブラリグループに分類できます-

  • コアタグ
  • タグのフォーマット
  • * SQLタグ*
  • * XMLタグ*
  • * JSTL関数*

コアタグ

タグのコアグループは、最も一般的に使用されるJSTLタグです。 以下は、JSTL CoreライブラリをJSPに含めるための構文です-

<%@ taglib prefix = "c" uri = "http://java.sun.com/jsp/jstl/core" %>

次の表は、コアJSTLタグのリストです-

S.No. Tag & Description
1

<c:out>

<%= …​など >、ただし式用。

2

<c:set >

式評価の結果を 'scope' に設定します

3

<c:remove >

(指定された場合、特定のスコープから)*スコープ変数*を削除します。

4

<c:catch>

本体で発生する Throwable をキャッチし、オプションで公開します。

5

<c:if>

指定された条件がtrueである場合にその本体を評価する単純な条件付きタグ。

6

<c:choose>

  • <when>* および *<otherwise>* でマークされた、相互に排他的な条件付き操作のコンテキストを確立する単純な条件付きタグ。
7

<c:when>

条件が 'true' に評価される場合、その本文を含む <choose> のサブタグ。

8

<c:otherwise >

  • <choose>* のサブタグ。 *<when>* タグに続き、前の条件がすべて「false」*と評価された場合にのみ実行されます。
9

<c:import>

絶対URLまたは相対URLを取得し、そのコンテンツをページ、 'var' の文字列、または 'varReader' のリーダーに公開します。

10

<c:forEach >

基本的な反復タグ。多くの異なるコレクションタイプを受け入れ、サブセット化およびその他の機能をサポートします。

11

<c:forTokens>

指定された区切り文字で区切られたトークンを反復処理します。

12

<c:param>

含まれる 'import' タグのURLにパラメーターを追加します。

13

<c:redirect >

新しいURLにリダイレクトします。

14

<c:url>

オプションのクエリパラメータを使用してURLを作成します

タグのフォーマット

JSTLフォーマットタグは、国際化されたWebサイトのテキスト、日付、時刻、および数値のフォーマットと表示に使用されます。 以下は、フォーマットライブラリをJSPに含めるための構文です-

<%@ taglib prefix = "fmt" uri = "http://java.sun.com/jsp/jstl/fmt" %>

次の表は、JSTLタグのフォーマットを示しています-

S.No. Tag & Description
1

<fmt:formatNumber>

特定の精度または形式で数値をレンダリングします。

2

<fmt:parseNumber>

数値、通貨、または割合の文字列表現を解析します。

3

<fmt:formatDate>

指定されたスタイルとパターンを使用して、日付や時刻をフォーマットします。

4

<fmt:parseDate>

日付および/または時刻の文字列表現を解析します

5

<fmt:bundle>

タグ本体で使用されるリソースバンドルをロードします。

6

<fmt:setLocale>

指定されたロケールをロケール構成変数に格納します。

7

<fmt:setBundle>

リソースバンドルをロードし、名前付きスコープ変数またはバンドル構成変数に保存します。

8

<fmt:timeZone>

本体にネストされた時間のフォーマットまたは解析アクションのタイムゾーンを指定します。

9

<fmt:setTimeZone>

指定されたタイムゾーンをタイムゾーン設定変数に保存します

10

<fmt:message>

国際化されたメッセージを表示します。

11

<fmt:requestEncoding>

要求文字エンコーディングを設定します

SQLタグ

JSTL SQLタグライブラリは、 Oracle、mySQLMicrosoft SQL Server などのリレーショナルデータベース(RDBMS)と対話するためのタグを提供します。

以下は、JSTL SQLライブラリをJSPに含めるための構文です-

<%@ taglib prefix = "sql" uri = "http://java.sun.com/jsp/jstl/sql" %>

次の表は、SQL JSTLタグのリストです-

S.No. Tag & Description
1

<sql:setDataSource>

プロトタイピングにのみ適したシンプルなデータソースを作成します

2

<sql:query>

本体またはsql属性を介して定義されたSQLクエリを実行します。

3

<sql:update>

本体またはsql属性を介して定義されたSQL更新を実行します。

4

<sql:param>

SQLステートメントのパラメーターを指定された値に設定します。

5

<sql:dateParam>

SQLステートメントのパラメーターを、指定されたjava.util.Date値に設定します。

6

<sql:transaction >

ネストされたデータベースアクション要素に共有接続を提供し、すべてのステートメントを1つのトランザクションとして実行するように設定します。

XMLタグ

JSTL XMLタグは、XMLドキュメントを作成および操作するJSP中心の方法を提供します。 JSPにJSTL XMLライブラリを含めるための構文は次のとおりです。

JSTL XMLタグライブラリには、XMLデータと対話するためのカスタムタグがあります。 これには、XMLの解析、XMLデータの変換、およびXPath式に基づくフロー制御が含まれます。

<%@ taglib prefix = "x"
   uri = "http://java.sun.com/jsp/jstl/xml" %>

例に進む前に、次の2つのXMLおよびXPath関連ライブラリを <Tomcatインストールディレクトリ> \ lib にコピーする必要があります-

以下は、XML JSTLタグのリストです-

S.No. Tag & Description
1

<x:out>

<%= …​など >、ただしXPath式用。

2

<x:parse>

属性またはタグ本文で指定されたXMLデータを解析するために使用されます。

3

<x:set >

変数をXPath式の値に設定します。

4

<x:if >

テストXPath式を評価し、それが真の場合、その本体を処理します。 テスト条件が偽の場合、本文は無視されます。

5

<x:forEach>

XMLドキュメント内のノードをループします。

6

<x:choose>

  • <when>* および *<otherwise>* タグでマークされた、相互に排他的な条件付き操作のコンテキストを確立する単純な条件付きタグ。
7

<x:when >

式が「true」に評価される場合、その本文を含む <choose> のサブタグ。

8

<x:otherwise >

  • <choose>* のサブタグ。 *<when>* タグの後に続き、前の条件がすべて「false」と評価された場合にのみ実行されます。
9

<x:transform >

XMLドキュメントにXSL変換を適用します

10

<x:param >

  • transform* タグと一緒に使用して、XSLTスタイルシートにパラメーターを設定します

JSTL関数

JSTLには多数の標準関数が含まれており、そのほとんどは一般的な文字列操作関数です。 JSPにJSTL関数ライブラリを含めるための構文は次のとおりです-

<%@ taglib prefix = "fn"
   uri = "http://java.sun.com/jsp/jstl/functions" %>

次の表は、さまざまなJSTL関数のリストです-

S.No. Function & Description
1

fn:contains()

入力文字列に指定された部分文字列が含まれているかどうかをテストします。

2

fn:containsIgnoreCase()

入力文字列に、大文字と小文字を区別しない方法で指定された部分文字列が含まれているかどうかをテストします。

3

fn:endsWith()

入力文字列が指定されたサフィックスで終わるかどうかをテストします。

4

fn:escapeXml()

XMLマークアップとして解釈できる文字をエスケープします。

5

fn:indexOf()

指定された部分文字列が最初に現れる文字列を含むインデックスを返します。

6

fn:join()

配列のすべての要素を文字列に結合します。

7

fn:length()

コレクション内のアイテム数、または文字列内の文字数を返します。

8

fn:replace()

入力文字列内のすべての出現を特定の文字列に置き換えた結果の文字列を返します。

9

fn:split()

文字列を部分文字列の配列に分割します。

10

fn:startsWith()

入力文字列が指定されたプレフィックスで始まるかどうかをテストします。

11

fn:substring()

文字列のサブセットを返します。

12

fn:substringAfter()

特定の部分文字列に続く文字列のサブセットを返します。

13

fn:substringBefore()

特定の部分文字列の前の文字列のサブセットを返します。

14

fn:toLowerCase()

文字列のすべての文字を小文字に変換します。

15

fn:toUpperCase()

文字列のすべての文字を大文字に変換します。

16

fn:trim()

文字列の両端から空白を削除します。