Oracle Application Server Containers for J2EE JSPタグ・ライブラリおよびユーティリティ・リファレンス
10g

部品番号: A97678-01
       

OJSPタグ・ライブラリとユーティリティについて

このトピックでは、JSP標準に従って実装されるOC4J提供のタグ・ライブラリ、JavaBeansおよびその他のユーティリティについて説明します。また、JavaServer Pages標準タグ・ライブラリ(JSTL)のサポートと、Oracle Application Serverの他のコンポーネントとともに提供されるタグ・ライブラリの概要についても説明します。

OC4J JSPコンテナ、標準JSPテクノロジおよび標準JSP 1.2タグ・ライブラリの機能の概要とOracle固有の機能については、Oracle Containers for J2EE Support for JavaServer Pages開発者ガイド 10gを参照してください。

このトピックでは、次の項目について説明します。

最初の項で説明するタグおよびJavaBeansは、型の拡張、XML/XSLとの統合、データベース・アクセスおよびプログラミングの利便性など、様々な分野の機能を提供します。

OC4Jで提供されるタグ・ライブラリおよびユーティリティの概要

この項で説明するOracle拡張機能は、JSP標準とJavaBeans標準に準拠するタグ・ライブラリまたはカスタムJavaBeansを介して実装されます。

この項の内容は、次のとおりです。


注意:


タグ構文の表記規則と注意

このマニュアルでタグの説明に使用されている構文については、次のことに注意してください。

XMLおよびXSLとの統合の概要

JSP構文を使用して、HTMLコードのみでなくテキスト・ベースのMIMEタイプを生成できます。特に、XML出力を動的に作成できます。ただし、JSPページを使用してXML文書を生成する場合、通常はクライアントに送信する前にXMLデータにスタイルシートを適用する必要があります。JSPページに使用される標準出力ストリームはサーバーを介して直接書き込まれるため、これはJavaServer Pagesテクノロジでは困難です。

OC4Jには、出力前にXSLスタイルシートを介してJSPページ全体または一部を変換するように指定するための特殊タグが用意されています。タグ本体またはXML DOMオブジェクトからの入力を使用でき、XML DOMオブジェクトまたはブラウザに出力できます。

ページの各部に異なるスタイルシートを指定する必要がある場合は、これらのタグを1つのJSPページで複数回使用できます。

他にもXMLサポート機能があります。

表1-1は、XMLユーティリティ・タグを示しています。dbOpen SQLタグとcacheXMLObj Web Object CacheタグにもXML機能があることに注意してください。詳細は、「XMLタグとXSLタグのサポートについて」を参照してください。

標準JSP 1.2 XMLサポートについては、Oracle Containers for J2EE Support for JavaServer Pages開発者ガイド 10gを参照してください。


注意:

OC4Jで提供されるカスタムXMLタグ・ライブラリはJavaServer Pages標準タグ・ライブラリ(JSTL)に先立つものであり、機能の重複する領域があります。今後は、標準準拠のため原則としてカスタム・ライブラリのかわりにJSTLを使用することをお薦めします。「JavaServer Pages標準タグ・ライブラリのサポート」を参照してください。

ただし、既存のタグがサポート対象外になったわけではありません。カスタム・ライブラリにあってJSTLでは使用できないが、一般的に役立つと思われる機能は、必要に応じて将来的にJSTL標準に採用されていく予定です。


表1-1 XMLユーティリティ・タグの概要
タグ 説明 属性

transform

XSL変換を使用して、XMLデータをHTTPクライアントまたは指定のXML DOMオブジェクトに出力します。

href
fromXMLObjName
toXMLObjName
toWriter

styleSheet

transformタグと同じです。

href
fromXMLObjName
toXMLObjName
toWriter

parsexml

入力ストリームからXML DOMオブジェクトに変換します。

resource
toXMLObjName
validateResource
root

データ・アクセスJavaBeansおよびタグ・ライブラリの概要

OC4Jには、Oracleデータベースへのアクセスに使用する一連のカスタムJavaBeansが用意されています。次のBeanはoracle.jsp.dbutilパッケージで提供されます。

詳細は、「データ・アクセス用のJavaBeans」を参照してください。

OC4Jには、JSPプログラマ向けに、JavaBeansの機能性をラップする、SQL機能のカスタム・タグ・ライブラリも用意されています。表1-2は、この種のタグを示しています。詳細は、「データ・アクセス用のSQLタグ」を参照してください。


注意:

OC4Jで提供されるカスタムSQLタグ・ライブラリはJavaServer Pages標準タグ・ライブラリ(JSTL)に先立つものであり、機能が重複する領域があります。規格準拠のため、今後は原則としてカスタム・ライブラリのかわりにJSTLを使用することをお薦めします。「JavaServer Pages標準タグ・ライブラリのサポート」を参照してください。

ただし、既存のタグがサポート対象外になったわけではありません。カスタム・ライブラリにあってJSTLでは使用できないが、一般的に役立つと思われる機能は、必要に応じて将来的にJSTL標準に採用されていく予定です。


表1-2 データ・アクセス・タグ・ライブラリの概要
タグ 説明 属性

dbOpen

データベース接続を開きます。このタグは、データソースと接続プーリングもサポートしています。

connId
scope
dataSource
user
password
URL
commitOnClose

dbClose

データベース接続を閉じます。

connId
scope

dbQuery

問合せを実行します。

queryId
connId
scope
output
maxRows
skipRows
bindParams
toXMLObjName

dbCloseQuery

問合せ用のカーソルを閉じます。

queryId

dbNextRow

結果セットの行を処理します。

queryId

dbExecute

任意のSQL文(DMLまたはDDL)を実行します。

connId
scope
output
bindParams

dbSetParam

dbQueryタグまたはdbExecuteタグにバインドするパラメータを設定します。

name
value
scope

dbSetCookie

Cookieを設定します。

name
value
domain
comment
maxAge
version
secure
path

JSPユーティリティ・タグの概要

OC4Jは、Webアプリケーション内から次のことを実行するためにユーティリティ・タグを提供します。

必要に応じてサーバー側またはクライアント側の添付とともに電子メール・メッセージを送信する場合は、oracle.jsp.webutil.email.SendMailBean JavaBeanまたはsendMailタグを使用できます。表1-6は、sendMailタグをまとめたものです。詳細は、「メールJavaBeanおよびタグ」を参照してください。

表1-6 sendMailタグの概要
タグ 説明 属性

sendMail

JSPページから電子メール・メッセージを送信します。タグの機能にはグローバリゼーション・サポートが含まれています。

host
sender
recipient
cc
bcc
subject
contentType
contentEncoding
serverAttachment
clientAttachment

ファイルをアップロードする場合は、httpUploadタグまたはoracle.jsp.webutil.fileaccess.HttpUploadBean JavaBeanを使用できます。ダウンロード用には、httpDownloadタグまたはHttpDownloadBean JavaBeanがあります。表1-7は、ファイル・アクセス・タグをまとめたものです。詳細は、「ファイル・アクセスJavaBeansおよびタグ」を参照してください。

表1-7 ファイル・アクセス・タグ・ライブラリの概要
タグ 説明 属性

httpUploadForm

便宜上、このタグを使用し、ユーザーがアップロード対象ファイルを指定できるように、マルチパート・エンコード・フォーム・データを使用して、アプリケーションでフォームを作成できます。

formsAction
maxFiles
fileNameSize
maxFileNameSize
includeNumbers
submitButtonText

httpUpload

クライアントからサーバーにファイルをアップロードします。ファイル・システムまたはデータベースにアップロードできます。

destination
destinationType
connId
scope
overwrite
fileType
table
prefixColumn
fileNameColumn
dataColumn

httpDownload

サーバーからクライアントにファイルをダウンロードします。ファイル・システムまたはデータベースからダウンロードできます。

servletPath
source
sourceType
connId
scope
recurse
fileType
table
prefixColumn
fileNameColumn
dataColumn

EJBを使用する場合は、ホーム・インスタンス作成用、EJBインスタンス作成用、EJBコレクション反復用のタグがあります。表1-8は、EJBタグ・ライブラリの概要を示しています。詳細は、「EJBタグ」を参照してください。

表1-8 EJBタグ・ライブラリの概要
タグ 説明 属性

useHome

このタグは、EJBのホーム・インタフェースを検索し、そのインスタンスを作成します。

id
type
location

useBean

このタグは、EJBをインスタンス化して使用する際に使用します。機能はJavaBeans用の標準jsp:useBeanタグに類似しています。

id
type
value
scope

createBean

EJBを初めてインスタンス化する際に、EJBのuseBeanタグのvalue属性を使用しない場合は、EJBのcreateBeanタグをuseBeanタグ内でネストして、EJBインスタンスの作成作業を実行する必要があります。

instance

iterate

このタグは、EJBインスタンスのコレクションを反復する際に使用します(エンティティBeanよりも一般的)。

id
type
collection
max

日付表示、適切な通貨による金額表示、数値表示、コレクションの反復、ユーザーが指定のロールに属しているかどうかに応じたタグ本体の評価と組込み、現行ファイルの最終変更日の表示のためのユーティリティ・タグもあります。表1-9は、これらのタグをまとめたものです。詳細は、「一般ユーティリティ・タグ」を参照してください。

表1-9 一般ユーティリティ・タグの概要
タグ 説明 属性

displayCurrency

このタグは、指定の金額をロケール用の通貨書式で表示します。

amount
locale

displayDate

このタグは、指定の日付をロケールに該当する書式で表示します。

date
locale

displayNumber

このタグは、指定の数値をロケールにあわせて指定の書式で(オプション)表示します。

number
locale
format

iterate

このタグは、コレクションを反復する際に使用します。

id
type
collection
max

ifInRole

このタグを使用してタグ本体を評価し、ユーザーが指定のアプリケーション・ロールに属しているかどうかに応じてJSPページの本体に組み込みます。

role
include

lastModified

このタグは、現行ファイルの最終変更日をロケールに該当する書式で表示します。

locale

Webアプリケーションに対するOracle Cachingサポートの概要

この項には次のトピックが含まれます。

この項で説明するOracleタグ・ライブラリは、JSP標準に準拠しています。


注意:

この項で紹介する機能を使用するサンプル・アプリケーションについては、OC4Jのデモを参照してください。


Oracle Application ServerとJSPのキャッシュ機能

Oracle Application ServerとOC4Jには、次のキャッシュ機能が用意されています。

JSP Web Object Cacheの役割

Webアプリケーションの設定全体におけるOC4J Web Object Cacheの役割を理解することが重要です。このキャッシュはJavaレベルで動作し、サーブレットおよびJSPアプリケーションのHTTP環境と緊密に統合されています。これに対して、Oracle Application Server Java Object Cacheは、Javaオブジェクト・レベルで動作しますがHTTPとは統合されていません。OracleAS Web Cacheの場合は、HTTPと適切に統合され、Web Object Cacheよりもはるかに高速ですが、Javaレベルでは動作しません。たとえば、J2EEコンテナ内でキャッシュされたDOMオブジェクトにスタイルシートを適用できず、他のプロトコルでキャッシュされた結果を再利用できず、ダイレクトDOM操作は実行できません(ただし、OracleAS Web Cacheの場合、DOMオブジェクトとは異なり、HTTPを介してオリジナルのWebサーバーからキャッシュされたraw XML文書にスタイルシートを適用できます)。

Web Object Cacheは、アプリケーションのメインWebキャッシュとしての使用を意図していません。サーブレットとJSPページを実行しているのと同じJava Virtual Machineに埋め込まれた補助キャッシュです。Web Object Cacheにキャッシュされた結果の検索パスにはJVMとJSPおよびサーブレット・エンジンが含まれるため、通常、OracleAS Web Cacheに比べるとWeb Object Cacheからのページを処理する方が時間がかかります。

Web Object Cacheは、OracleAS Web CacheやOracle Application Server Java Object Cacheにかわるものではなく、この2つのキャッシュの必要性がなくなることもありません。Web Object CacheはWebアプリケーションのフレームワーク全体における補完的なキャッシュ・コンポーネントであり、該当する場合は他のキャッシュ製品と併用する必要があります。事実、Web Object Cacheではデフォルト・リポジトリとしてJava Object Cacheが使用されます。また、OC4J JESIタグとWeb Object Cacheタグを併用することで、Web Object CacheとOracleAS Web Cacheを同じページで使用できます。

Web Object CacheとOracle Application Server Web Cacheの比較

OracleAS Web Cacheはプライマリ・キャッシュ・コンポーネントであると考えてください。HTTPクライアントに直接キャッシュされたページを扱い、大量のHTTP通信量を迅速に処理し、ほとんどのWebサイトの要件に適合します。OracleAS Web Cacheを使用して、完全Webページまたはページの一部を(JESIタグを使用して)格納できます。キャッシュされたページは、クライアントへの送信前にある程度カスタマイズできます(Cookieの置換やページ・フラグメントの連結など)。

Webアプリケーション・サーバーとバックエンド・データベースにかかる負荷をできるかぎり軽減するために、OracleAS Web Cacheを使用することをお薦めします。Webページに高いキャッシュ率が必要な場合も、OracleAS Web Cache単独で対処できます。

OracleAS Web Cacheの補完コンポーネントとしてWeb Object Cacheを使用し、JSPとサーブレットの中間的な実行結果を取得し、このようにキャッシュされた結果をJavaアプリケーション・ロジックの他の部分で以降に再利用できます。キャッシュされてからクライアントに提供されるまでの間に、キャッシュされたオブジェクトに対して大量の後処理を実行するのでなければ、WebアプリケーションにWeb Object Cacheを使用するメリットはありません。

Web Object CacheとOracle Application Server Java Object Cacheの比較

Oracle Application Server Java Object Cacheに比べると、Web Object Cacheを使用する方が、部分的な実行結果を容易に動的Webページに格納してメンテナンスできます。Java Object Cacheは一般的なJavaアプリケーション向けの純粋なオブジェクト・ベース・フレームワークであり、埋め込まれているHTTP環境を認識しません。たとえば、HTTPのCookieやセッションに直接依存することはありません。Java Object CacheをWebアプリケーション内で直接使用する場合は、必要なインタフェースを作成する必要があります。Java Object Cacheには、メンテナンス・ポリシーを宣言的に指定する手段は用意されていません。

キャッシュ関連のタグ・ライブラリの概要

OC4Jには、Oracle Application Serverキャッシュ機能で使用するための2つのタグ・ライブラリが用意されています。

この項では、これらのライブラリの概要を説明します。

JESIタグ・ライブラリの概要

OC4Jは、JESIタグ・ライブラリを、Webキャッシュ用のESIタグおよびエッジ・サイド・インクルード機能への便利なインタフェースとして提供します。開発者は、ESIタグを任意のWebアプリケーションで直接使用できますが、JESIタグは、JSP環境にさらに利便性を提供します。

表1-10は、JESIタグ・ライブラリの概要を示しています。詳細は、「Oracle JESIタグの説明」を参照してください。

表1-10 JESIタグ・ライブラリの概要
タグ 説明 属性

control

このタグは、control/include使用モデルのJSPページのキャッシュ特性を制御します。JESIのcontrolタグはトップレベル・ページまたはインクルードされるすべてのページで使用できます。

expiration
maxRemovalDelay
cache

include

このタグは、標準のjsp:includeタグと同様に、インクルードされるページからの出力をインクルードしているページからの出力に動的に挿入します。また、インクルードされるページをESIプロセッサで処理してアセンブルするように指示します。

page
alt
ignoreError
copyparam
flush

template

このタグを使用して、template/fragment使用モデルのフラグメントの外部で集約ページのキャッシュ動作を指定します。

expiration
maxRemovalDelay
cache

fragment

1つ以上のJESI fragmentタグを、template/fragmentモデルのJESI templateタグのJESI template開始タグおよび終了タグの間で使用します。

expiration
maxRemovalDelay
cache

invalidate

このタグをJESI objectサブタグとともに使用して、キャッシュされた1つ以上のオブジェクトを明示的に無効化します。

url
username
password
config
output

object

これはJESI invalidateタグの必須のサブタグです。このサブタグを使用し、完全URIまたはURI接頭辞に従って、無効化対象となるキャッシュされたオブジェクトを指定します。

uri
prefix
maxRemovalDelay

Cookie

これはJESI objectタグのサブタグです。このサブタグを必要に応じて使用し、無効化の詳細基準としてCookie情報を使用します。

name
value

header

これはJESI objectタグのサブタグです。このサブタグを必要に応じて使用し、無効化の詳細基準としてHTTP/1.1ヘッダー情報を使用します。

name
value

personalize

このタグを使用すると、ESIプロセッサにCookieおよびセッション情報への依存性を通知して、ページをカスタマイズできます。

name
value

Web Object Cacheタグ・ライブラリの概要

OC4J Web Object Cacheは、Javaで記述されたWebアプリケーションでJSPページやサーブレットなどの動的Webページにより生成された部分的な中間結果を取得、格納、再利用、後処理およびメンテナンスできるようにするメカニズムです。プログラミング・インタフェースの場合、タグ・ライブラリ(JSPページ用)とJava API(サーブレット用)を提供します。

表1-11は、Web Object Cacheタグ・ライブラリの概要を示しています。詳細は、「Web Object Cacheタグの説明」を参照してください。

表1-11 Web Object Cacheタグ・ライブラリの概要
タグ 説明 属性

cache

このタグを使用して、JSPアプリケーションにXMLオブジェクトやJavaシリアライズ可能オブジェクトのキャッシュではなく一般キャッシュを設定します。

policy
ignoreCache
invalidateCache
scope
autoType
selectedParam
selectedCookies
reusableTimeStamp
reusableDeltaTime
name
expirationType
TTL
timeInaDay
dayInaWeek
dayInaMonth
writeThrough
printCacheBlockInfo
printCachePolicy
cacheRepositoryName
reportException

cacheXMLObj

通常、XML DOMオブジェクトをキャッシュする場合は、このタグをcacheタグのかわりに使用します。cacheXMLObjタグは、すべてのcacheタグ属性とその他のXML固有のパラメータをサポートしています。

policy
ignoreCache
invalidateCache
scope
autoType
selectedParam
selectedCookies
reusableTimeStamp
reusableDeltaTime
name
expirationType
TTL
timeInaDay
dayInaWeek
dayInaMonth
writeThrough
printCacheBlockInfo
printCachePolicy
cacheRepositoryName
reportException
fromXMLObjName
toXMLObjName
toWriter

useCacheObj

このタグを使用して、Javaのシリアライズ可能オブジェクトをキャッシュします。useCacheObjタグは、すべてのcacheタグ・パラメータとその機能固有の他の属性をサポートしています。

policy
ignoreCache
invalidateCache
scope
autoType
selectedParam
selectedCookies
reusableTimeStamp
reusableDeltaTime
name
expirationType
TTL
timeInaDay
dayInaWeek
dayInaMonth
writeThrough
printCacheBlockInfo
printCachePolicy
cacheRepositoryName
reportException
type
id
cacheScope

cacheInclude

このタグは、cacheタグ(cacheXMLObjタグまたはuseCacheObjタグではなく)と標準jsp:includeタグの機能を組み合せたものです。

policy
page
printCacheBlockInfo
reportException

invalidateCache

このタグを使用し、プログラム・ロジックを介してキャッシュ・ブロックを明示的に無効化します。invalidateCacheタグのほとんどのパラメータは、cacheタグとcacheXMLObjタグにもあり、使用方法も同じです。

policy
ignoreCache
scope
autoType
selectedParam
selectedCookies
name
invalidateNameLike
page
autoInvalidateLevel
cacheRepositoryName
reportException

JavaServer Pages標準タグ・ライブラリのサポート

Oracle9iASリリース2(9.0.3)のOC4J JSP製品は、Sun社のJavaServer Pages Standard Tag Library, Version 1.0仕様で指定されたJavaServer Pages標準タグ・ライブラリ(JSTL)をサポートしています。この項では、JSTL機能とOC4Jサポートの概要を説明します。この項のトピックは、次のとおりです。

OC4J 9.0.3の実装では、JSTLはOC4J製品に直接組み込まれていません。リファレンス実装は次のURLからダウンロードできます。

 http://jakarta.apache.org/builds/jakarta-taglibs/releases/standard/
 
    

このJSTLリファレンス実装をOC4Jのデモ・アプリケーションで使用する方法は、次のURLで利用可能なJSPのFAQドキュメントを参照してください。

 http://www.oracle.com/technology/tech/java/oc4j/index.html
 
    

JSTLの詳細は、次のロケーションで提供されている仕様を参照してください。

 http://www.jcp.org/aboutJava/communityprocess/first/jsr052/index.html
 
    


注意:

JSTL 1.0にはJSP 1.2環境が必要です。


JSTLの概要と理念

JSTLは、Javaなどのスクリプト言語の使用経験があまりないか、他の言語を使用しようとするJSPページ作成者の利便性を意図しています。従来、JSPページでは動的データの処理にスクリプトレットが使用されていました。JSTLは、スクリプトレットのかわりにJSTLタグを使用することを意図しています。

以前のバージョンのOC4J JSP製品を使用しているユーザーには、これがOracle JavaServer Pagesマークアップ言語(JML)タグ・ライブラリの目的に類似していることがわかります。JMLタグ・ライブラリもサポートされていますが、標準JSTLを使用することをお薦めします。また、「Oracle9iASリリース2におけるJSTL: 使用上の注意と将来の考慮事項」も参照してください。

JSTLの主機能は、次のとおりです。

タグ・サポートは、前述の機能領域に従って4つのJSTLサブライブラリに分割されています。表1-12は、各サブライブラリの標準TLD URIと接頭辞を示しています。

表1-12 JSTLサブライブラリ
機能 URI 接頭辞

コア

http://java.sun.com/jstl/core

c:

XML処理

http://java.sun.com/jstl/xml

x:

SQLデータベース・アクセス

http://java.sun.com/jstl/sql

sql:

i18n国際化および書式設定

http://java.sun.com/jstl/fmt

fmt:

詳細は、「JSTLタグとその他の機能の概要」を参照してください。


注意:

JSP 1.2コンテナを使用する必要があるという制約がある場合は、式言語モデルとリクエスト時式モデルの両方をサポートするためにJSTL 1.0実装が必要でした。この二重サポートは、パラレルJSTLサブライブラリを介して行われます。サブライブラリ(コア、XML、SQLおよびi18n)ごとに個別のTLDが存在するため、2つのバージョンに個別のTLD URIが存在します。

ほとんどのユーザーは、前述したURIに対応する式言語モデルを使用しようとすることが予想されます。リクエスト時式モデルを使用するには、該当するTLDにアクセスできるように各URIに_rtを追加します。表記規則により、各接頭辞にも_rtを追加してください(c_rt:など)。

特定のJSPページに一方または他方のライブラリ・セットを使用します。両方は使用しないでください。


JSTL式言語の概要

JSTL式言語では、JSPページとの情報のやりとりにはJSPスコープ属性とリクエスト・パラメータが優先されることになります。JSTL式言語を使用すると、JSPスクリプトレットとリクエスト時式を使用する必要がなくなります。

JSTL 1.0では、式言語を使用できるのはJSTLタグ属性値内のみです。

たとえば、次のように、JSTLのc:ifタグを使用して会社リストから製鉄会社を選択する場合を考えてみます。

 <c:if test="${company.industry == 'steel'}">
    ...
 </c:if>
 
    

これ以降は、JSTL式言語構文のまとめと、JSTL式言語評価をOC4J JSPアプリケーションで有効化する方法について説明します。

JSTL式言語構文

次のリストは、JSTL式言語の主要構文機能の概要を示しています。リストに続いて単純な例をいくつか示します。

例: 基本

次の例は、関係"<="(以下)演算子を含む式言語の基本的な起動を示しています。

 <c:if test="${auto.price <= customer.priceLimit}">
    The <c:out value="${auto.makemodel}"/> is in your price range.
 </c:if>
 
    
例: コレクションへのアクセス

次の例はSun社の JavaServer Pages Standard Tag Library, Version 1.0仕様から抜粋したもので、"."および"[]"構成メンバーの使用方法を示しています。

 <%-- "productDir" is a Map object containing the description of
       products, "preferences" is a Map object containing the
       preferences of a user --%>
 product:
 <c:out value="${productDir[product.custId]}"/>
 shipping preference:
 <c:out value="${user.preferences['shipping']}"/>
 
    

JSTL式言語の暗黙オブジェクト

JSTLには次の暗黙オブジェクトが用意されています。

JSTL式言語のその他の機能

式言語には、次の機能も用意されています。

詳細は、JSTL 1.0仕様を参照してください。

JSTLタグとその他の機能の概要

この項では、JSTLタグの概要とその他のJSTL機能について説明します。この項のトピックは次のとおりです。

スコープ変数

JSTLタグにより、JSPスコープ属性を介してデータが使用可能になります。この属性はスコープ変数と呼ばれ、スクリプト変数のかわりに使用されます。この方法でデータを使用可能にできるJSTLタグにはvarおよびscopeという属性もあり、次のように使用します。

scope属性はNESTED変数(常にpageスコープを持つ変数)とは無関係ですが、JSTLの変数はAT_END(終了タグからページの最後までの範囲で使用可能)です。

次の例では、コア・ライブラリのイテレータ・アクション・タグforEachと式言語サポート・タグoutを使用して、employeesコレクションの現在のアイテムを公開しています。

 <c:forEach var="employee" items="${customers}">
    The current employee is <c:out value="${customer}"/>
 </c:forEach>
 
    

構成データとConfigクラス

JSTLには、特定のスコープのJSP構成データを、スコープ変数を介して動的にオーバーライドする機能が組み込まれています。そのためには、javax.servlet.jsp.jstl.core.Configクラスの機能を使用できます。

JSP 1.2仕様によれば、JSPページ・コンテキストに存在するすべてのスコープ(pagerequestsessionおよびapplication)は、1つのネームスペースを形成する必要があります。つまり、スコープ変数名は、ページの実行ごとに一意である必要があります。

Configクラスには、構成パラメータ名を透過的に操作して、各スコープが固有のネームスペースに及ぼす効果を生成する機能があります。実際に、これにより特定のスコープの構成パラメータのみを設定できます。

詳細は、JSTL 1.0仕様を参照してください。

JSTLタグの概要

表1-13は、JSTLタグを機能グループ別にまとめたものです。グループごとにJSTL標準タグ接頭辞を記載してあります。

表1-13 JavaServer Pages標準タグ・ライブラリの概要
タグ・グループ グループの説明 個別タグ

コア、ELサポート

式を評価して結果を現行のJspWriterオブジェクトに出力するタグ、スコープ変数の値またはターゲット・オブジェクトのプロパティ値を設定するタグ、スコープ変数を削除するタグ、ネストしたアクションにより作成されたThrowableインスタンスを取得するタグが含まれています。

c:out
c:set
c:remove
c:catch

コア、条件

テスト属性の評価がtrueになる場合に本体のコンテンツを評価するタグと、相互排他条件付きの実行パスを指定するタグが含まれています。whenタグとotherwiseタグはchooseタグとともに使用されます。

c:if
c:choose
c:when
c:otherwise

コア、イテレータ

オブジェクトのコレクションに対して(または単に指定した回数だけ)本体の実行を反復するタグと、指定したデリミタで区切られた一連のトークンを反復するタグが含まれています。

c:forEach
c:forTokens

コア、URL関連

URLベース・リソースのコンテンツをインポートするタグ、該当するリライト・ルールを使用してURLを作成するタグ、クライアントにHTTPリダイレクトを送信するタグ、URLにリクエスト・パラメータを追加するタグが含まれています。paramタグは、importurlおよびredirectタグのサブタグです。

c:import
c:url
c:redirect
c:param

XML、コア

XML文書を解析するタグ、XPath式を評価して結果を現行のJspWriterオブジェクトに出力するタグ、XPath式を評価して結果をスコープ変数に格納するタグが含まれています(XPathについては、この表の後の注意を参照)。

x:parse
x:out
x:set

XML、フロー制御

指定のXPath式を評価して評価がtrueであればコンテンツをレンダリングするタグ、相互排他条件付きの実行パスを指定するタグ、指定のXPath式を評価して結果に対する本体の実行を反復するタグが含まれています。whenタグとotherwiseタグはchooseタグとともに使用されます。

x:if
x:choose
x:when
x:otherwise
x:forEach

XML、変換

ドキュメントにXSLTスタイルシートの変換を適用するタグと、変換パラメータを設定するタグが含まれています。paramタグはtransformタグのサブタグです。

x:transform
x:param

SQL

データベースを問い合せるタグ、データベースを更新(UPDATE/INSERT/DELETE)するタグ、問合せと更新に使用するトランザクション・コンテキストを確立するタグ、データソースをスコープ変数またはデータソース構成変数としてエクスポートするタグ、SQL文にパラメータ・プレースホルダ("?")の値を設定するタグ、java.util.Date型のパラメータ・プレースホルダの値を設定するタグが含まれています。paramタグとdateParamタグは、queryタグとupdateタグのサブタグです。

sql:query
sql:update
sql:transaction
sql:setDataSource
sql:driver
sql:param
sql:dateParam

i18n、国際化

指定のロケールをロケール構成変数に格納するタグ、タグ内で使用するi18nローカライゼーション・コンテキストを作成するタグ、ローカライゼーション・コンテキストを作成してタグ外部で使用できるように格納するタグ、リソース・バンドル内でローカライズ済メッセージを検索するタグ、リクエストの文字コードを設定するタグが含まれています。messageタグとともにparamタグを使用すると、messageタグ内のパラメータを置換できます。

fmt:locale
fmt:bundle
fmt:message
fmt:param
fmt:requestEncoding

i18n、書式設定

フォーマットや解析に使用するタイム・ゾーンを指定するタグ、指定のタイム・ゾーンをスコープ変数またはタイム・ゾーン構成変数に格納するタグ、数値をロケールまたは特別なカスタマイズに適した書式に設定するタグ、このように書式設定された数値の文字列表現を解析するタグ、日付または時刻をロケールまたは特別なカスタマイズに適した書式に設定するタグ、このように書式設定された日付または時刻の文字列表現を解析するタグが含まれています。

fmt:timeZone
fmt:setTimeZone
fmt:formatNumber
fmt:parseNumber
fmt:formatDate
fmt:parseDate


注意:

XML処理用のJSTLタグは、XPath(XML Path)というW3C勧告に基づいています。XPathは、XML文書の各部を指定および選択するための簡略表記法です。詳細は、次のWebサイトを参照してください。

 http://www.w3.org/TR/xpath
            

Oracle9iASリリース 2におけるJSTL: 使用上の注意と将来の考慮事項

考慮事項は次のとおりです。

その他のOracle Application Serverコンポーネントのタグ・ライブラリの概要

他の多数のOracle Application Serverコンポーネントには、JSPタグ・ライブラリが用意されています。この項では、次のライブラリの概要を説明します。

この項で説明するOracleタグ・ライブラリは、JSP標準に準拠しています。

以降の説明は、基礎となるコンポーネントに関してある程度の知識があることを前提としています。

Oracle Reportsタグ・ライブラリ

Oracle Reportsタグは、Oracleレポートの作成に使用されるデータ・モデル・オブジェクトと連携します。Oracle Reportsのカスタム・タグを使用すると、レポートのブロックとグラフを既存のJSPファイルにすばやく追加できます。これらのタグをテンプレートとして使用すると、独自のデータ駆動Javaコンポーネントを作成してReportsのHTMLページに挿入できます。

カスタムJSPタグの一例が3Dグラフ作成コンポーネントです。カスタムJSPタグを使用すると、Reportsデータを3Dアプリケーション・サーバーに渡し、そこでグラフのイメージを作成できます。その後、カスタムJSPタグにより、作成されたイメージを参照するHTMLが戻されます。

reportタグはレポート・ブロックを区切り、objectsタグはレポート・ブロックを定義します。これらのタグの内部にある他のカスタム・タグにより、レポート・データの内容と外観が定義されます。

表1-17は、Oracle Reportsタグをまとめたものです。標準的なタグ接頭辞はrwです。

詳細は、Oracle Reports Developerオンライン・ヘルプの「リファレンス/JSPタグ」を参照してください。Oracle Reportsの詳細情報は、Oracle Technology Networkでも検索できます。

 http://www.oracle.com/technology/products/reports/index.html
 
    

表1-17 Reportsタグ・ライブラリの概要
タグ 説明 属性

report

JSPページ内のレポート・オブジェクトを区切ります。

id
parameters

objects

レポート定義を変更します。

id

field

HTMLに単一値ソース・オブジェクトをレンダリングするためのフォーマット設定を行います。

id
src
breakLevel
breakValue
nullValue
containsHtml
formatMask
formatTrigger

foreach

データ・ソース・グループ内でループ処理を行います。

id
src
startRow
endRow
increment

getValue

レポート・オブジェクトの名前を取り出します。

id
src
formatMask

graph

グラフまたはチャートを定義します。

id
src
groups
dataValues
series
width
height
graphHyperlink

include

トップレベルのレイアウト・オブジェクトを単純なHTML表に再フォーマットします。

id
src
format

seq

値のシーケンスを定義します。

name
seq

seqval

seqタグで定義された値の順序を操作します。

ref
op

id

ADA法(American Disabilities Act)に準拠するように、行および列ヘッダーの一意のHTML IDを生成します。

id
breakLevel
asArray

headers

行および列ヘッダーについてidタグにより生成されたID値を取得します。

id
src

Oracle Application Server Wireless Location(Spatial)タグ・ライブラリ

ロケーション・ベースのアプリケーションの開発者は、次の操作に特化されたサービスを必要とします。

OracleAS Wirelessロケーション・アプリケーション・コンポーネントは、ジオコーディングの実行、運転方向の提供およびビジネス・ディレクトリの検索を行うためのAPIの集合です。既存の重要なプロバイダをAPIにマップするサービス・プロキシが組み込まれており、将来的には対応するプロバイダがさらに増加するものと予想されます。

JSP開発者向けに、表1-18に示すタグ・ライブラリが用意されています。標準的なタグ接頭辞はlocです。

詳細は、Oracle Application Server Wireless開発者ガイド 10gを参照してください。

表1-18 Location(Spatial)タグ・ライブラリの概要
タグ 説明 属性

address

ジオコーディング、マッピングまたはルーティング・アプリケーションの場合、このタグで指定されたアドレスはジオコーディング対象であるか、マップ上にあるか、ルートの始点または終点のアドレスとして使用されるか、またはビジネス・ディレクトリの問合せセンターとして使用されます。

name
type
businessName
firstLine
city
state
postalCode
country

map

マッピング・アプリケーションの場合、このタグでは、1つ以上の地点、ルートまたは運転操作を示す、特定の解像度を持つマップを指定します。

name
type
points
route
maneuver
xres
yres

route

ルーティング・アプリケーションの場合、このタグでは特定のマップ解像度を持つルートを指定します。これには、操作、概要マップおよび操作マップが含まれます。

name
type
xres
yres

iterateManeuvers

ルーティング・アプリケーションの場合、このタグでは操作を個別に表す運転操作のコレクションを作成します。

name
type
routeID

businesses

ビジネス・ディレクトリ・アプリケーションの場合、このタグでは1つ以上の属性を共有するビジネスのコレクションを指定します。

name
type
businessName
categoryID
keyword
city
state
postalCode
country
centerID
radius
nearestN

iterateBusinesses

ビジネス・ディレクトリ・アプリケーションの場合、このタグはbusinessesタグで戻されるコレクション内のビジネスを個別に表します。

name
type
collection

category

ビジネス・ディレクトリ・アプリケーションの場合、このタグでは"dealers"などのビジネス・カテゴリを指定します。

name
type
parentCategory
categoryName

iterateCategoriesMatchingKeyword

ビジネス・ディレクトリ・アプリケーションの場合、このタグでは指定のキーワード値と一致するカテゴリのコレクションを作成し、カテゴリを個別に表します。

name
type
parentCategory
keyword

iterateChildCategories

ビジネス・ディレクトリ・アプリケーションの場合、このタグでは個別に表される直接の子サブカテゴリのコレクションを指定します。

name
type
parentCategory

Oracle Application Server Ultra Searchタグ・ライブラリ

OracleAS Ultra Searchには、開発者がコンテンツ検索機能をJSPアプリケーションに取り込む際に使用できるように、カスタム・タグ・ライブラリが用意されています。このライブラリには、次の機能があります。

表1-19は、タグ・ライブラリの概要を示しています。標準的なタグ接頭辞はUSです。

詳細は、Oracle Ultra Searchユーザーズ・ガイドを参照してください。または、Ultra Searchオンライン・マニュアルの「Ultra Search JSPタグ・ライブラリ」を参照してください。

表1-19 Ultra Searchタグ・ライブラリの概要
タグ 説明 属性

instance

このタグは、Ultra Searchインスタンスへの接続を確立します。

instanceId
username
password
url
dataSourceName
tablePagePath
emailPagePath
filePagePath

iterAttributes

拡張問合せの場合、このタグを使用して、使用可能な属性のリストを表示します。

instance
locale

iterGroups

拡張問合せの場合、このタグを使用して、使用可能なグループのリストを表示します。

instance
locale

iterLanguages

拡張問合せの場合、このタグを使用して、Ultra Searchインスタンスに定義されている言語のリストを表示します。

instance

iterLOV

このタグを使用して、検索属性に定義されている値をすべて表示します。

instance
locale
attributeName
attributeType

getResult

このタグを使用して検索を実行します。

resultId
instance
query
queryLocale
documentLanguage
from
to
boostTerm
withCount

fetchAttribute

これは、getResultタグ内でネストしたタグであり、問合せ結果とともにフェッチする各文書の属性を指定します。getResultタグ内で複数のfetchAttributeタグをネストできます。

attributeName
attributeType

showHitCount

getResultタグ内でwithCount="true"であれば、結果には合計ヒット数が含まれ、 showHitCountを使用してこの数値を表示できます。

result

iterResult

このタグは、検索結果に含まれる全文書を反復します。このタグを使用して結果をJSPページに表示します。

result
instance

showAttributeValue

文書属性をレンダリングします。

attributeName
attributeType
default

Oracle Application Server Portalタグ・ライブラリ

OracleAS Portalでは、開発者は次のことを実現できます。

OracleAS Portalタグ・ライブラリは、カスタマイズ可能なインターネット・ポータルをビルドする開発者にさらなる利便性を提供します。開発者は、Portalデータベース内部に格納されてポータルの実行時にダウンロードされる内部JSPページ、またはファイル・システムに格納される外部JSPページ、あるいはその両方を組み合せたものを作成できます。

表1-20は、タグ・ライブラリの概要を示しています。標準的なタグ接頭辞はportalです。

詳細は、Oracle Technology Networkから入手可能なドキュメントOracle Application Server Portal: JSPの追加を参照してください。

 http://www.oracle.com/technology/products/ias/portal/index.html
 
    

表1-20 Portalタグ・ライブラリの概要
タグ 説明 属性

usePortal

このタグを使用して、Webページのフレームワークを形成する、動的コンテンツを持つポートレットを含んだポータル全体を指定します。このタグは、JSPページの最初のPortalタグにする必要があります。

id
pagegroup
login

prepare

このタグを使用して、ポータルに表示される1つ以上のポートレットのバンドルを設定します。

portal
portletHeaders

portlet

これらのタグをprepareタグ内で1つ以上使用して、表示するポートレットを宣言します。

id
instance
header

showPortlet

このタグを使用してポートレットを表示します。通常、ポートレットはportletタグで宣言しておきますが、他の方法もあります。ただし、最も単純な使用方法では、表示するポートレットをshowPortletタグ自体で指定します。

name
portal
header

parameter

このタグをportletタグまたはshowPortletタグ内で使用して、ポートレットのパラメータ設定を指定します(たとえば、株価ポートレットの場合は、対象銘柄を指定します)。

name
value

useStyle

ポータルに使用するCSSスタイルを指定するか、またはデフォルト・スタイルを使用します(また、このタグを使用せずに、必要なスタイルを他の方法で実装します)。

name
portal