JSTL SQLライブラリ - <sql:transaction>タグ

<sql:query>サブタグおよび<sql:update>サブタグのトランザクション・コンテキストを設定します。

構文

<sql:transaction [dataSource=”dataSource”]
     [isolation=isolationLevel]>
     <sql:query> and <sql:update> statements
</sql:transaction>
isolationLevel ::= "read_committed"
               |"read_uncommitted"
               |"repeatable_read"
               |"serializable"

ボディ・コンテンツ

JSP。JSPコンテナがボディ・コンテンツを処理し、現在のJspWriterに結果を書き込みます。アクションはボディ・コンテンツを無視します。

属性

dataSource
アクセス対象のデータベースに関連付けられているDataSourceString値は、JNDIリソースへの相対パス、またはJDBCのDriverManager機能のパラメータを表します。
isolation
トランザクション分離レベル。指定しない場合、DataSourceが構成されている分離レベルになります。

制約

NULLおよびエラーの処理

説明

<sql:transaction>アクションは、ネストされた<sql:query>アクションおよび<sql:update>アクションをトランザクションにグループ化します。

トランザクション分離レベルはjava.sql.Connectionで定義されます。

<sql:transaction>アクションのタグ・ハンドラは、そのライフ・サイクル・メソッドで次の手順を実行する必要があります。

Connectionオブジェクトは、<sql:query>について説明されているのと同じ方法で取得および管理されます(http://www.jcp.org/aboutJava/communityprocess/first/jsr052/index.htmlにある『JavaServer Pages Standard Tag Library 1.0 Specification』の10.3項を参照)。ただし、親タグからは取得されません(<sql:transaction>タグをConnectionの伝播手段としてネストすることはできません)。

<sql:transaction>タグ・ハンドラは、例外を捕捉すると、JDBC Connectionのcommit()メソッドおよびrollback()メソッドをそれぞれ使用して、トランザクションのコミットとロールバックを行います。<sql:update>を使用した対応するSQL文(たとえば<sql:update sql="rollback" />など)を<sql:transaction>要素のボディで実行することはサポートされていないため、そのような処理を行った場合の結果は予測できません。

大規模なJTAユーザー・トランザクションのコンテキストで<sql:transaction>アクションを実行した場合の動作は定義されていません。

注意: JSTL 1.1では、Java Servlet 2.4およびJavaServer Pages 2.0の仕様をサポートするJSPコンテナが必要です。JSTL 1.0仕様の実装には、Java Servlet 2.3およびJavaServer Pages 1.2の仕様をサポートするJSPコンテナが必要です。

JSTLタグの状況依存ヘルプを提供するため、JSTLタグ・ライブラリのドキュメントがApache Software Foundation(http://www.apache.org/)で作成され、JDeveloperに含まれています。また、JSTLタグおよび属性の説明を含む『JavaServer Pages Standard Tag Library 1.0 and 1.1 Specifications』を次のWebサイトからダウンロードできます。

http://www.jcp.org/aboutJava/communityprocess/final/jsr052/index2.html

JSTLの詳細は、次の外部リファレンスを参照してください。

『Java Sun JSTL Resources』ページ:
http://java.sun.com/products/jsp/jstl/

 

JDeveloperのJSTLタグ・ライブラリについて
リファレンス: JavaServer Pages標準タグ・ライブラリ(JSTL)