これは、Struts Beanタグ・ライブラリの開発者ガイドです。この項には、Apache Software Foundation(http://www.apache.org/
)およびそれ以外のサード・パーティによって作成されたドキュメントが含まれます。
このタグ・ライブラリには、Beanとそのプロパティへのアクセスに役立つタグが含まれます。また、(これらのアクセスに基づいて)スクリプト変数とページ・スコープ属性を介してページの他の部分にアクセスできる新しいBeanの定義に役立つタグも含まれます。リクエストCookie、ヘッダーおよびパラメータの値に基づいて新しいBeanを作成する便利なメカニズムも用意されています。
このタグ・ライブラリ内のタグの多くは、誤って使用すると(無効な組合せのタグ属性を指定した場合など)、実行時にJspException
をスローします。JSPでは、<%@ page %>
ディレクティブでエラー・ページを宣言できます。問題を引き起こした実際の例外を処理する場合、それはキーorg.apache.struts.action.EXCEPTION
のリクエスト属性としてエラー・ページに渡されます。
タグ名 | 説明 |
---|---|
Cookie | 指定したリクエストCookieの値に基づいてスクリプト変数を定義します。 |
define | 指定したBeanプロパティの値に基づいてスクリプト変数を定義します。 |
header | 指定したリクエスト・ヘッダーの値に基づいてスクリプト変数を定義します。 |
include | 動的アプリケーション・リクエストからレスポンスをロードし、Beanとして使用可能にします。 |
message | 国際化されたメッセージ文字列をレスポンスにレンダリングします。 |
page | 指定した項目をページ・コンテキストからBeanとして公開します。 |
parameter | 指定したリクエスト・パラメータの値に基づいてスクリプト変数を定義します。 |
resource | Webアプリケーション・リソースをロードし、Beanとして使用可能にします。 |
size | CollectionまたはMap内の要素数を含むBeanを定義します。 |
struts | 名前付きStruts内部構成オブジェクトをBeanとして公開します。 |
write | 指定したBeanプロパティの値を現在のJspWriterにレンダリングします。 |
指定したリクエストCookieの値に基づいてスクリプト変数を定義します。
指定したリクエストCookieの値を(multiple
属性に応じて単一の値または複数の値として)取得し、その結果をCookie
型(multiple
を指定しない場合)またはCookie[]
型(multiple
を指定する場合)のページ・スコープ属性として定義します。
指定した名前のCookieが存在せず、デフォルト値の指定もない場合は、リクエスト時例外がスローされます。
属性名 | 説明 |
---|---|
id |
指定したリクエストCookieの値として使用可能になるスクリプト変数(および関連するページ・スコープ属性)の名前を指定します。 (REQUIRED)(RT EXPR) |
multiple |
この属性に任意の値を指定すると、一致するすべてのCookieが (RT EXPR) |
name |
取得対象となる値を含むリクエストCookieの名前を指定します。 (REQUIRED)(RT EXPR) |
value |
指定した名前のCookieがこのリクエストに含まれていない場合に返されるデフォルトのCookieの値。 (RT EXPR) |
指定したBeanプロパティの値に基づいてスクリプト変数を定義します。
新しい属性を(toScope
プロパティを指定する場合はそのスコープ内に)作成し、対応するスクリプト変数を作成します。両方とも、id
属性の値により名前を指定します。この新しい属性(およびスクリプト変数)に設定する値は、次のアプローチのいずれか1つを使用して指定します(複数のアプローチを使用すると、JspExceptionがスローされます)。
name
属性(およびオプションのproperty
属性とscope
属性)を指定: 作成される属性とスクリプト変数は、Javaプリミティブ型でないかぎり、取得されるJavaBeansプロパティの型になります。プリミティブ型の場合は、適切なラッパー・クラスにラップされます(すなわち、intはjava.lang.Integerでラップされます)。
value
属性を指定: 作成される属性とスクリプト変数は、この属性の値に設定されたjava.lang.String
型になります。
java.lang.String
型になります。
指定したBeanプロパティの取得中に問題が発生した場合は、リクエスト時例外がスローされます。
<bean:define>
タグには、次のように<jsp:useBean>
タグと異なる点がいくつかあります。
value
属性で指定したリテラル文字列(またはランタイム式の結果)を含むBeanを作成できます。
<jsp:setProperty>
タグなどの)ネストされたコンテンツはサポートされません。Beanが実際に作成された場合にのみ実行されます。
使用方法: JSP 1.1仕様には、単一のJSPページ内でid
属性に同じ値を複数回使用することはできないという制限があります。そのため、単一のページ内で<bean:define>
を複数回同じBean名で使用することはできません。
Beanを作成する様々な方法と、BeanをJSPページに導入する別のアプローチの詳細は、ApacheグループのWebサイト(http://struts.apache.org/api/org/apache/struts/taglib/bean/package-summary.html#doc.Creation)にあるBean開発者ガイドの関連セクションを参照してください。
属性名 | 説明 |
---|---|
id |
指定したプロパティの値として使用可能になるスクリプト変数(および関連するページ・スコープ属性)の名前を指定します。 (REQUIRED)(RT EXPR) |
name |
新しいページ・スコープ属性を定義するためにアクセスされるプロパティを含むBeanの属性名( (RT EXPR) |
property |
(RT EXPR) |
scope |
(RT EXPR) |
toScope |
新しく定義するBeanの作成先となる変数のスコープを指定します。指定しない場合、Beanはページ・スコープで作成されます。 (RT EXPR) |
type |
[java.lang.String(value属性を指定する場合)またはjava.lang.Object(それ以外の場合)](RT EXPR) |
value |
公開するBeanに設定する (RT EXPR) |
指定したリクエスト・ヘッダーの値に基づいてスクリプト変数を定義します。
指定したリクエスト・ヘッダーの値を(multiple
属性に応じて単一の値または複数の値として)取得し、その結果をString
型(multiple
を指定しない場合)またはString[]
型(multiple
を指定する場合)のページ・スコープ属性として定義します。
指定した名前のヘッダーが存在せず、デフォルト値の指定もない場合は、リクエスト時例外がスローされます。
属性名 | 説明 |
---|---|
id |
指定したリクエスト・ヘッダーの値として使用可能になるスクリプト変数(および関連するページ・スコープ属性)の名前を指定します。 (REQUIRED)(RT EXPR) |
multiple |
この属性に任意の値を指定すると、 (RT EXPR) |
name |
取得対象となる1つ以上の値を含むリクエスト・ヘッダーの名前を指定します。 (REQUIRED)(RT EXPR) |
value |
指定した名前のヘッダーがこのリクエストに含まれていない場合に返されるデフォルトのヘッダーの値。 (RT EXPR) |
動的アプリケーション・リクエストからレスポンスをロードし、Beanとして使用可能にします。
指定したアプリケーション・コンポーネント(または外部URL)に対する内部ディスパッチを実行し、そのリクエストからのレスポンス・データをString
型のBeanとして使用可能にします。このタグは、レスポンス・データを出力ストリームに書き込まずにページ・スコープ属性に格納する点以外は、標準の<jsp:include>
タグとほぼ同じ機能を持ちます。現在のリクエストがセッションの一部の場合、includeのために生成されるリクエストにはセッション識別子も含まれます(そのため、同じセッションの一部になります)。
指定したアプリケーション・コンポーネントへのアクセスに使用されるURLは、指定を行う次の属性に基づいて求められます(どれか1つを指定する必要があります)。
ActionForward
の名前としてこの属性の値を使用し、そこで検出されるアプリケーション相対URIまたはコンテキスト相対URIを使用します。
属性名 | 説明 |
---|---|
anchor |
生成されるハイパーリンクにオプションとして追加するanchorタグ(#xxx)。#文字は使用せずにこの値を指定してください。 (RT EXPR) |
forward |
インクルードするリソースの実際のコンテンツ相対URIを含む、グローバル (RT EXPR) |
href |
インクルードするリソースの絶対URL(「http:」のような適切なプロトコル接頭辞を含む)。このURLは、現在のWebアプリケーションの外部となる可能性があるため、リクエストにセッション識別子は含まれません。 (RT EXPR) |
id |
指定したWebアプリケーション・リソースの値として使用可能になるスクリプト変数(および関連するページ・スコープ属性)の名前を指定します。 (REQUIRED)(RT EXPR) |
name |
ディスパッチされるWebアプリケーション・リソースの(スラッシュで始まる)アプリケーション相対名。そのレスポンス・データはBeanとして使用可能になります。非推奨: かわりにpage属性を使用してください。 (RT EXPR) |
page |
インクルードするWebアプリケーション・リソースの(スラッシュで始まる)アプリケーション相対URI。 (RT EXPR) |
transaction |
このincludeのために生成されるURLに現在のトランザクションの制御トークンを含める場合、 (RT EXPR) |
国際化されたメッセージ文字列をレスポンスにレンダリングします。
指定したメッセージ・キーを使用して、指定したロケールの国際化されたメッセージを取得し、出力ストリームに書き込みます。パラメータ置換({0}など)を5つまで指定できます。
メッセージ・キーは、key
属性を使用して直接指定するか、またはBeanから取得するようname
属性とproperty
属性を使用して間接的に指定します。
属性名 | 説明 |
---|---|
arg0 |
1番目のパラメータ置換値(オプション)。 (RT EXPR) |
arg1 |
2番目のパラメータ置換値(オプション)。 (RT EXPR) |
arg2 |
3番目のパラメータ置換値(オプション)。 (RT EXPR) |
arg3 |
4番目のパラメータ置換値(オプション)。 (RT EXPR) |
arg4 |
5番目のパラメータ置換値(オプション)。 (RT EXPR) |
bundle |
メッセージを含む [Action.MESSAGES_KEY](RT EXPR) |
key |
リクエストされたメッセージのメッセージ・キー。メッセージ・リソース内に対応する値が含まれています。指定しない場合、 (RT EXPR) |
locale |
現在選択している [Action.LOCALE_KEY](RT EXPR) |
name |
(RT EXPR) |
property |
(RT EXPR) |
scope |
(RT EXPR) |
指定した項目をページ・コンテキストからBeanとして公開します。
このページのページ・コンテキストから指定した項目の値を取得し、その値をスクリプト変数として、および現在のページの他の部分にアクセスできるページ・スコープ属性として定義します。
指定した構成オブジェクトの取得中に問題が発生した場合は、リクエスト時例外がスローされます。
属性名 | 説明 |
---|---|
id |
指定したページ・コンテキスト・プロパティの値として使用可能になるスクリプト変数(および関連するページ・スコープ属性)の名前を指定します。 (REQUIRED)(RT EXPR) |
property |
取得および公開するページ・コンテキストのプロパティの名前。これは、 (REQUIRED)(RT EXPR) |
指定したリクエスト・パラメータの値に基づいてスクリプト変数を定義します。
指定したリクエスト・パラメータの値を(multiple
属性に応じて単一の値または複数の値として)取得し、その結果をString
型(multiple
を指定しない場合)またはString[]
型(multiple
を指定する場合)のページ・スコープ属性として定義します。
指定した名前のリクエスト・パラメータが存在せず、デフォルト値の指定もない場合は、リクエスト時例外がスローされます。
属性名 | 説明 |
---|---|
id |
指定したリクエスト・パラメータの値として使用可能になるスクリプト変数(および関連するページ・スコープ属性)の名前を指定します。 (REQUIRED)(RT EXPR) |
multiple |
この属性に任意の値を指定すると、 (RT EXPR) |
name |
取得対象となる値を含むリクエスト・パラメータの名前を指定します。 (REQUIRED)(RT EXPR) |
value |
指定した名前のパラメータがこのリクエストに含まれていない場合に返される、デフォルトのパラメータの値。 (RT EXPR) |
Webアプリケーション・リソースをロードし、Beanとして使用可能にします。
指定したWebアプリケーション・リソースの値を取得し、input
属性の値に応じて、InputStream
またはString
として使用可能にします。
指定したリソースの取得中に問題が発生した場合は、リクエスト時例外がスローされます。
属性名 | 説明 |
---|---|
id |
指定したWebアプリケーション・リソースの値として使用可能になるスクリプト変数(および関連するページ・スコープ属性)の名前を指定します。 (REQUIRED)(RT EXPR) |
input |
この属性に任意の値を指定すると、リソースは (RT EXPR) |
name |
ロードするWebアプリケーション・リソースの(スラッシュで始まる)アプリケーション相対名。 (REQUIRED)(RT EXPR) |
CollectionまたはMap内の要素数を含むBeanを定義します。
配列、CollectionまたはMapを参照し、java.lang.Integer
型の新しいBeanを作成します。この値は、そのコレクションの要素数です。次のいずれかの方法により、カウントされるコレクションを指定します。
collection
属性の値で指定するランタイム式とする場合
name
属性で指定するJSP Beanとする場合
bean
属性で指定するJSP Beanの、property
属性で指定するプロパティとする場合
属性名 | 説明 |
---|---|
collection |
配列、CollectionまたはMapに対し評価を行うランタイム式。 (RT EXPR) |
id |
カウント対象の基礎となるコレクションのサイズを格納するために作成される、 (REQUIRED)(RT EXPR) |
name |
カウントされるコレクションを含む(オプションで (RT EXPR) |
property |
カウントされるコレクションをgetterメソッドによって返す、 (RT EXPR) |
scope |
(RT EXPR) |
名前付きStruts内部構成オブジェクトをBeanとして公開します。
指定したStruts内部構成オブジェクトの値を取得し、その値をスクリプト変数として、および現在のページの他の部分にアクセスできるページ・スコープ属性として定義します。公開される構成オブジェクトを選択する場合は、formBean
属性、forward
属性またはmapping
属性のどれか1つを指定する必要があります。
指定した構成オブジェクトの取得中に問題が発生した場合は、リクエスト時例外がスローされます。
属性名 | 説明 |
---|---|
formBean |
公開されるStruts (RT EXPR) |
forward |
公開されるグローバルStruts (RT EXPR) |
id |
指定したStruts内部構成オブジェクトの値として使用可能になるスクリプト変数(および関連するページ・スコープ属性)の名前を指定します。 (REQUIRED)(RT EXPR) |
mapping |
公開されるStruts (RT EXPR) |
指定したBeanプロパティの値を現在のJspWriterにレンダリングします。
指定したBeanプロパティの値を取得し、次の方法で現在のJspWriterに文字列としてレンダリングします。
format
属性が存在する場合、値はformat
属性およびデフォルトのシステム・ロケールによる書式文字列に基づいて書式設定されます。
format
属性の説明を参照)、値はリソースの書式文字列に基づいて書式設定されます。リソース・バンドルおよびターゲット・ロケールは、bundle
属性とlocale
属性を使用して指定できます。何も指定しない場合は、デフォルトのリソース・バンドルおよび現在のユーザー・ロケールが使用されます。
getAsText()
メソッドがコールされます。
toString()
変換が適用されます。
指定したBeanプロパティの取得中に問題が発生した場合は、リクエスト時例外がスローされます。
属性名 | 説明 |
---|---|
bundle |
メッセージを含む [Action.MESSAGES_KEY](RT EXPR) |
filter |
この属性を [true](RT EXPR) |
format |
Beanまたはプロパティ値を (RT EXPR) |
formatKey |
アプリケーション・リソース内で書式文字列を検索するためのキーを指定します。 (RT EXPR) |
ignore |
この属性を [false](RT EXPR) |
locale |
現在選択している [Action.LOCALE_KEY](RT EXPR) |
name |
(REQUIRED)(RT EXPR) |
property |
(RT EXPR) |
scope |
(RT EXPR) |
Copyright (c) 2000-2002, Apache Software Foundation
JDeveloperのStrutsカスタム・タグ・ライブラリについて
リファレンス: Strutsタグ・ライブラリ
Copyright © 1997, 2006, Oracle. All rights reserved.