Struts Logicタグ

これは、Struts Logicタグ・ライブラリの開発者ガイドです。このセクションには、Apache Software Foundation(http://www.apache.org/)およびそれ以外のサード・パーティによって作成されたドキュメントが含まれます。

このタグ・ライブラリには、出力テキストの条件付き生成の管理、出力テキストを繰り返し生成するためのオブジェクト・コレクションのループおよびアプリケーション・フロー管理に役立つタグが含まれます。

値の比較を実行するタグ(equalgreaterEqualgreaterThanlessEquallessThanまたはnotEqual)では、次の規則が適用されます。

  • 指定した値は検査されます。doubleまたはlongに正常に変換できる場合は、最終的な比較が数値(浮動小数点または整数のいずれか)であるとみなされます。それ以外の場合は、文字列の比較が実行されます。
  • 比較される変数は、このタグにあるセレクタ属性(cookieheadernameparameterおよびproperty)に基づいて取得されます。こうして決定された変数は、比較のため適切な型に変換されます。
  • 指定した変数またはプロパティがnullを返した場合は、比較が実行される前に長さゼロの文字列に強制変換されます。
  • このタグ固有の比較が実行され、結果としてtrueが返されると、このタグのネストされた本体コンテンツが評価されます。

部分文字列の一致を実行するタグでは(match, notMatch)、次の規則が適用されます。

  • 指定した変数は、このタグにあるセレクタ属性(cookieheadernameparameterおよびproperty)に基づいて取得されます。変数は、必要に応じて文字列に変換されます。
  • 指定した変数を取得できない場合、または変数にnull値が含まれている場合は、リクエスト時例外がスローされます。
  • 指定した値は、location属性で指定した位置に変数の部分文字列として存在するかどうかがチェックされます。この位置は、最初の部分(locationをstartに設定した場合)、最後の部分(locationをendに設定した場合)または任意の部分(locationを指定しない場合)のいずれかです。

このタグ・ライブラリ内のタグの多くは、誤って使用すると(無効な組合せのタグ属性を指定した場合など)、実行時にJspExceptionをスローします。JSPでは、<%@ page %>ディレクティブでエラー・ページを宣言できます。問題を引き起こした実際の例外を処理する場合、それはキーorg.apache.struts.action.EXCEPTIONのリクエスト属性としてエラー・ページに渡されます。

タグ名説明
empty リクエストした変数がnullまたは空の文字列である場合、このタグのネストされた本体コンテンツを評価します。
equal リクエストした変数が指定した値と等しい場合、このタグのネストされた本体コンテンツを評価します。
forward 指定したActionForwardエントリにより指定されるページにコントロールをフォワードします。
greaterEqual リクエストした変数が指定した値以上の場合、このタグのネストされた本体コンテンツを評価します。
greaterThan リクエストした変数が指定した値を超える場合、このタグのネストされた本体コンテンツを評価します。
iterate 指定したコレクションを対象に、このタグのネストされた本体コンテンツを反復します。
lessEqual リクエストした変数が指定した値以下の場合、このタグのネストされた本体コンテンツを評価します。
lessThan リクエストした変数が指定した値未満の場合、このタグのネストされた本体コンテンツを評価します。
match 指定した値がリクエストした変数の部分文字列に一致する場合、このタグのネストされた本体コンテンツを評価します。
messagesNotPresent 指定したメッセージがこのリクエスト内に存在しない場合、このタグのネストされた本体コンテンツを生成します。
messagesPresent 指定したメッセージがこのリクエスト内に存在する場合、このタグのネストされた本体コンテンツを生成します。
notEmpty リクエストした変数がnullまたは空の文字列ではない場合、あるいは空のjava.util.Collectionではない場合(java.util.Collectionインタフェースの .isEmpty()メソッドによりテストされる)、このタグのネストされた本体コンテンツを評価します。
notEqual リクエストした変数が指定した値と等しくない場合、このタグのネストされた本体コンテンツを評価します。
notMatch 指定した値がリクエストした変数の部分文字列に一致しない場合、このタグのネストされた本体コンテンツを評価します。
notPresent 指定した値がこのリクエスト内に存在しない場合、このタグのネストされた本体コンテンツを生成します。
present 指定した値がこのリクエスト内に存在する場合、このタグのネストされた本体コンテンツを生成します。
redirectHTTPリダイレクトをレンダリングします。
empty:  リクエストした変数がnullまたは空の文字列である場合、このタグのネストされた本体コンテンツを評価します。

Struts 1.1以上。

指定した値が存在しない(つまり、nullである)場合、空の文字列(つまり、長さゼロのjava.lang.String)である場合、または空のjava.util.Collection(java.util.Collectionインタフェースの .isEmpty()メソッドによりテストされる)である場合にのみ、ネストされた本体コンテンツを評価します。

属性名説明
name

比較される変数は、この属性で指定したJSP Bean(propertyを指定しない場合)、またはこのBeanの指定したプロパティの値(propertyを指定する場合)になります。

(RT EXPR)
property

比較される変数は、この属性で指定した(name属性で指定したBeanの)プロパティになります。プロパティ参照では、単純なプロパティ、ネストされたプロパティまたは索引付きプロパティのいずれか、あるいはそのすべてを使用できます。

(RT EXPR)
scope

nameプロパティで名前を指定したBeanを検索するための範囲となるBeanスコープ。指定しない場合は、すべてのスコープになります。

(RT EXPR)
equal:  リクエストした変数が指定した値と等しい場合、このタグのネストされた本体コンテンツを評価します。

セレクタ属性のいずれか1つによって指定した変数を、指定した定数値と比較します。変数と値が等しい場合、このタグのネストされた本体コンテンツを評価します。

属性名説明
cookie

比較される変数は、この属性で指定した名前を持つCookieの値になります。

(RT EXPR)
header

比較される変数は、この属性で指定した名前を持つヘッダーの値になります。名前の一致では、大文字と小文字の区別はありません。

(RT EXPR)
name

比較される変数は、この属性で指定したJSP Bean(propertyを指定しない場合)、またはこのBeanの指定したプロパティの値(propertyを指定する場合)になります。

(RT EXPR)
parameter

比較される変数は、この属性で指定したリクエスト・パラメータの最初(または唯一)の値になります。

(RT EXPR)
property

比較される変数は、この属性で指定した(name属性で指定したBeanの)プロパティになります。プロパティ参照では、単純なプロパティ、ネストされたプロパティまたは索引付きプロパティのいずれか、あるいはそのすべてを使用できます。

(RT EXPR)
scope

nameプロパティで名前を指定したBeanを検索するための範囲となるBeanスコープ。指定しない場合は、すべてのスコープになります。

(RT EXPR)
value

このタグの他の属性で指定した変数と比較するための定数値。

(必須) (RT EXPR)
forward:  指定したActionForwardエントリにより指定されるページにコントロールをフォワードします。

指定した名前のグローバルActionForwardエントリに対し、PageContext.forward()コールまたはHttpServletResponse.sendRedirect()コールを実行します。URLリライティングは、リダイレクトが実行されると自動的に行われます。

属性名説明
name

使用する宛先およびフォワード・アプローチを識別するグローバルActionForwardエントリの論理名。

(必須) (RT EXPR)
greaterEqual:  リクエストした変数が指定した値以上の場合、このタグのネストされた本体コンテンツを評価します。

セレクタ属性のいずれか1つによって指定した変数を、指定した定数値と比較します。変数が値以上の場合、このタグのネストされた本体コンテンツを評価します。

属性名説明
cookie

比較される変数は、この属性で指定した名前を持つCookieの値になります。

(RT EXPR)
header

比較される変数は、この属性で指定した名前を持つヘッダーの値になります。名前の一致では、大文字と小文字の区別はありません。

(RT EXPR)
name

比較される変数は、この属性で指定したJSP Bean(propertyを指定しない場合)、またはこのBeanの指定したプロパティの値(propertyを指定する場合)になります。

(RT EXPR)
parameter

比較される変数は、この属性で指定したリクエスト・パラメータの最初(または唯一)の値になります。

(RT EXPR)
property

比較される変数は、この属性で指定した(name属性で指定したBeanの)プロパティになります。プロパティ参照では、単純なプロパティ、ネストされたプロパティまたは索引付きプロパティのいずれか、あるいはそのすべてを使用できます。

(RT EXPR)
scope

nameプロパティで名前を指定したBeanを検索するための範囲となるBeanスコープ。指定しない場合は、すべてのスコープになります。

(RT EXPR)
value

このタグの他の属性で指定した変数と比較するための定数値。

(必須) (RT EXPR)
greaterThan:  リクエストした変数が指定した値を超える場合、このタグのネストされた本体コンテンツを評価します。

セレクタ属性のいずれか1つによって指定した変数を、指定した定数値と比較します。変数が値を超える場合、このタグのネストされた本体コンテンツを評価します。

属性名説明
cookie

比較される変数は、この属性で指定した名前を持つCookieの値になります。

(RT EXPR)
header

比較される変数は、この属性で指定した名前を持つヘッダーの値になります。名前の一致では、大文字と小文字の区別はありません。

(RT EXPR)
name

比較される変数は、この属性で指定したJSP Bean(propertyを指定しない場合)、またはこのBeanの指定したプロパティの値(propertyを指定する場合)になります。

(RT EXPR)
parameter

比較される変数は、この属性で指定したリクエスト・パラメータの最初(または唯一)の値になります。

(RT EXPR)
property

比較される変数は、この属性で指定した(name属性で指定したBeanの)プロパティになります。プロパティ参照では、単純なプロパティ、ネストされたプロパティまたは索引付きプロパティのいずれかを使用できます。

(RT EXPR)
scope

nameプロパティで名前を指定したBeanを検索するための範囲となるBeanスコープ。指定しない場合は、すべてのスコープになります。

(RT EXPR)
value

このタグの他の属性で指定した変数と比較するための定数値。

(必須) (RT EXPR)
iterate:  指定したコレクションを対象に、このタグのネストされた本体コンテンツを反復します。

指定したコレクションの各要素に対して、このタグのネストされた本体コンテンツを1回ずつ反復します。このコレクションは、(反復される値を含む)IteratorCollectionMapまたは配列となります。次のいずれかの方法により、反復するコレクションを指定します。

  • collection属性の値で指定するランタイム式とする場合
  • name属性で指定するJSP Beanとする場合
  • name属性で指定するJSP Bean内の、property属性で指定するプロパティとする場合

反復を正常に実行するには、反復するコレクションが次の要件のいずれかに該当している必要があります。

  • JavaオブジェクトまたはJavaプリミティブの配列
  • ArrayListおよびVectorを含むjava.util.Collectionの実装
  • java.util.Enumerationの実装
  • java.util.Iteratorの実装
  • HashMapHashtableおよびTreeMapを含むjava.util.Mapの実装(注意: Mapにアクセスする場合の詳細は、次の記述を参照してください。)

通常、iterateタグにより公開される各オブジェクトは、基礎となる反復対象のコレクションの要素です。ただし、Mapを反復する場合、公開されるオブジェクトは、次の2つのプロパティを含むMap.Entry型のオブジェクトです。

  • key: この項目が、基礎となるMapに格納されるキー
  • value: このキーに対応する値

このため、Hashtableの値を反復する場合は、次のようなコードを実装します。

<logic:iterate id="element" name="myhashtable">
Next element is <bean:write name="element" property="value"/>
</logic:iterate>

反復するコレクションにnull値が含まれている場合、ループは実行されますが、ループ中に(id属性で名前を指定した)ページ・スコープ属性は作成されません。<logic:present>タグと<logic:notPresent>タグを使用すると、このケースをテストできます。

属性名説明
collection

反復する(前述の要件を満たす)コレクションに対し評価を行うランタイム式。

(RT EXPR)
id

nullではない場合、各反復におけるコレクションの現在の要素を含むページ・スコープJSP Beanの名前。

(必須) (RT EXPR)
indexId

各反復におけるコレクションの現在の索引を含むページ・スコープJSP Beanの名前。

(RT EXPR)
length

このページで反復する(基礎となるコレクションの)エントリの最大数。この値は、目的の値を直接示す整数値であるか、または目的の値を定義する(任意のスコープの)java.lang.Integer型のJSP Beanの名前になります。指定しない場合、反復の実行回数には制限がなくなります。

(RT EXPR)
name

反復するコレクションを含むJSP Beanの名前(propertyを指定しない場合)、または反復するコレクションを返すプロパティgetterを含むJSP Beanの名前(propertyを指定する場合)。

(RT EXPR)
offset

基礎となるコレクションのエントリを反復する際の開始点となる、ゼロ相対の索引。この値は、目的の値を直接示す整数値であるか、または目的の値を定義する(任意のスコープの)java.lang.Integer型のJSP Beanの名前になります。指定しない場合、ゼロであるとみなされます(つまり、コレクションは最初から反復されます)。

(RT EXPR)
property

反復するコレクションを返すgetterを含む、nameで指定したJSP Beanのプロパティの名前。

(RT EXPR)
scope

nameプロパティで名前を指定したBeanを検索するための範囲となるBeanスコープ。指定しない場合は、すべてのスコープになります。

(RT EXPR)
type

id属性で名前を指定したJSP Beanを介して公開する要素の完全修飾Javaクラス名。指定しない場合、型変換は実行されません。注意: また、コレクションの実際の要素は、このクラスに割当て可能である必要があります。割当てが実行できない場合、リクエスト時にClassCastExceptionが発生します。

(RT EXPR)
lessEqual:  リクエストした変数が指定した値以下の場合、このタグのネストされた本体コンテンツを評価します。

セレクタ属性のいずれか1つによって指定した変数を、指定した定数値と比較します。変数が値以下の場合、このタグのネストされた本体コンテンツを評価します。

属性名説明
cookie

比較される変数は、この属性で指定した名前を持つCookieの値になります。

(RT EXPR)
header

比較される変数は、この属性で指定した名前を持つヘッダーの値になります。名前の一致では、大文字と小文字の区別はありません。

(RT EXPR)
name

比較される変数は、この属性で指定したJSP Bean(propertyを指定しない場合)、またはこのBeanの指定したプロパティの値(propertyを指定する場合)になります。

(RT EXPR)
parameter

比較される変数は、この属性で指定したリクエスト・パラメータの最初(または唯一)の値になります。

(RT EXPR)
property

比較される変数は、この属性で指定した(name属性で指定したBeanの)プロパティになります。プロパティ参照では、単純なプロパティ、ネストされたプロパティまたは索引付きプロパティのいずれかを使用できます。

(RT EXPR)
scope

nameプロパティで名前を指定したBeanを検索するための範囲となるBeanスコープ。指定しない場合は、すべてのスコープになります。

(RT EXPR)
value

このタグの他の属性で指定した変数と比較するための定数値。

(必須) (RT EXPR)
lessThan:  リクエストした変数が指定した値未満の場合、このタグのネストされた本体コンテンツを評価します。

セレクタ属性のいずれか1つによって指定した変数を、指定した定数値と比較します。変数が値未満の場合、このタグのネストされた本体コンテンツを評価します。

属性名説明
cookie

比較される変数は、この属性で指定した名前を持つCookieの値になります。

(RT EXPR)
header

比較される変数は、この属性で指定した名前を持つヘッダーの値になります。名前の一致では、大文字と小文字の区別はありません。

(RT EXPR)
name

比較される変数は、この属性で指定したJSP Bean(propertyを指定しない場合)、またはこのBeanの指定したプロパティの値(propertyを指定する場合)になります。

(RT EXPR)
parameter

比較される変数は、この属性で指定したリクエスト・パラメータの最初(または唯一)の値になります。

(RT EXPR)
property

比較される変数は、この属性で指定した(name属性で指定したBeanの)プロパティになります。プロパティ参照では、単純なプロパティ、ネストされたプロパティまたは索引付きプロパティのいずれか、あるいはそのすべてを使用できます。

(RT EXPR)
scope

nameプロパティで名前を指定したBeanを検索するための範囲となるBeanスコープ。指定しない場合は、すべてのスコープになります。

(RT EXPR)
value

このタグの他の属性で指定した変数と比較するための定数値。

(必須) (RT EXPR)
match:  指定した値がリクエストした変数の部分文字列に一致する場合、このタグのネストされた本体コンテンツを評価します。

セレクタ属性(文字列)のいずれか1つによって指定した変数と、指定した定数値が一致しているかどうかを検証します。値が(location属性により適切に制限された)部分文字列と一致する場合、このタグのネストされた本体コンテンツを評価します。

属性名説明
cookie

一致させる変数は、この属性で指定した名前を持つCookieの値になります。

(RT EXPR)
header

一致させる変数は、この属性で指定した名前を持つヘッダーの値になります。名前の一致では、大文字と小文字の区別はありません。

(RT EXPR)
location

指定しない場合、変数と値の一致が、変数文字列内の任意の位置で実行される場合があります。指定する場合、一致は変数文字列内の指定した位置(startまたはend)で実行されます。

(RT EXPR)
name

一致させる変数は、この属性で指定したJSP Bean(propertyを指定しない場合)、またはこのBeanの指定したプロパティの値(propertyを指定する場合)になります。

(RT EXPR)
parameter

一致させる変数は、この属性で指定したリクエスト・パラメータの最初(または唯一)の値になります。

(RT EXPR)
property

一致させる変数は、この属性で指定した(name属性で指定したBeanの)プロパティになります。プロパティ参照では、単純なプロパティ、ネストされたプロパティまたは索引付きプロパティのいずれか、あるいはそのすべてを使用できます。

(RT EXPR)
scope

nameプロパティで名前を指定したBeanを検索するための範囲となるBeanスコープ。指定しない場合は、すべてのスコープになります。

(RT EXPR)
value

指定した変数の部分文字列として存在するかどうかをチェックする定数値。

(必須) (RT EXPR)
messagesNotPresent:  指定したメッセージがこのリクエスト内に存在しない場合、このタグのネストされた本体コンテンツを生成します。

Struts 1.1以上。

ActionMessagesオブジェクト、ActionErrorsオブジェクト、文字列、または文字列の配列がリクエスト・スコープに存在しない場合、このタグのネストされた本体コンテンツを評価します。このようなBeanが検出されない場合は、何もレンダリングされません。

属性名説明
message

デフォルトでは、このタグは、反復するリクエスト・スコープBeanをAction.ERROR_KEY定数文字列から取得します。ただし、この属性をtrueに設定すると、リクエスト・スコープBeanはAction.MESSAGE_KEY定数文字列から取得されます。また、trueに設定すると、name属性に割り当てられている値はすべて無視されます。

(RT EXPR)
name

リクエスト・スコープからメッセージを取得するためのパラメータ・キー。

(RT EXPR)
property

メッセージの取得対象のプロパティの名前。指定しない場合、すべてのメッセージが(プロパティに関係なく)取得されます。

(RT EXPR)
messagesPresent:  指定したメッセージがこのリクエスト内に存在する場合、このタグのネストされた本体コンテンツを生成します。

Struts 1.1以上。

ActionMessagesオブジェクト、ActionErrorsオブジェクト、文字列、または文字列の配列がリクエスト・スコープに存在する場合、このタグのネストされた本体コンテンツを評価します。このようなBeanが検出されない場合は、何もレンダリングされません。

属性名説明
message

デフォルトでは、このタグは、反復するリクエスト・スコープBeanをAction.ERROR_KEY定数文字列から取得します。ただし、この属性をtrueに設定すると、リクエスト・スコープBeanはAction.MESSAGE_KEY定数文字列から取得されます。また、trueに設定すると、name属性に割り当てられている値はすべて無視されます。

(RT EXPR)
name

リクエスト・スコープからメッセージを取得するためのパラメータ・キー。

(RT EXPR)
property

メッセージの取得対象のプロパティの名前。指定しない場合、すべてのメッセージが(プロパティに関係なく)取得されます。

(RT EXPR)
notEmpty:  リクエストした変数がnullまたは空の文字列ではない場合、あるいは空のjava.util.Collectionではない場合(java.util.Collectionインタフェースの .isEmpty()メソッドによりテストされる)、このタグのネストされた本体コンテンツを評価します。

指定した属性が存在する(つまり、nullではない)場合、および空の文字列(つまり、長さゼロの文字列のjava.lang.String)ではない場合にのみ、ネストされた本体コンテンツを評価します。

属性名説明
name

比較される変数は、この属性で指定したJSP Bean(propertyを指定しない場合)、またはこのBeanの指定したプロパティの値(propertyを指定する場合)になります。

(RT EXPR)
property

比較される変数は、この属性で指定した(name属性で指定したBeanの)プロパティになります。プロパティ参照では、単純なプロパティ、ネストされたプロパティまたは索引付きプロパティのいずれか、あるいはそのすべてを使用できます。

(RT EXPR)
scope

nameプロパティで名前を指定したBeanを検索するための範囲となるBeanスコープ。指定しない場合は、すべてのスコープになります。

(RT EXPR)
notEqual:  リクエストした変数が指定した値と等しくない場合、このタグのネストされた本体コンテンツを評価します。

セレクタ属性のいずれか1つによって指定した変数を、指定した定数値と比較します。変数と値が等しくない場合、このタグのネストされた本体コンテンツを評価します。

属性名説明
cookie

比較される変数は、この属性で指定した名前を持つCookieの値になります。

(RT EXPR)
header

比較される変数は、この属性で指定した名前を持つヘッダーの値になります。名前の一致では、大文字と小文字の区別はありません。

(RT EXPR)
name

比較される変数は、この属性で指定したJSP Bean(propertyを指定しない場合)、またはこのBeanの指定したプロパティの値(propertyを指定する場合)になります。

(RT EXPR)
parameter

比較される変数は、この属性で指定したリクエスト・パラメータの最初(または唯一)の値になります。

(RT EXPR)
property

比較される変数は、この属性で指定した(name属性で指定したBeanの)プロパティになります。プロパティ参照では、単純なプロパティ、ネストされたプロパティまたは索引付きプロパティのいずれか、あるいはそのすべてを使用できます。

(RT EXPR)
scope

nameプロパティで名前を指定したBeanを検索するための範囲となるBeanスコープ。指定しない場合は、すべてのスコープになります。

(RT EXPR)
value

このタグの他の属性で指定した変数と比較するための定数値。

(必須) (RT EXPR)
notMatch:  指定した値がリクエストした変数の部分文字列に一致しない場合、このタグのネストされた本体コンテンツを評価します。

セレクタ属性(文字列)のいずれか1つによって指定した変数と、指定した定数値が一致しているかどうかを検証します。値が(location属性により適切に制限された)部分文字列と一致しない場合、このタグのネストされた本体コンテンツを評価します。

属性名説明
cookie

一致させる変数は、この属性で指定した名前を持つCookieの値になります。

(RT EXPR)
header

一致させる変数は、この属性で指定した名前を持つヘッダーの値になります。名前の一致では、大文字と小文字の区別はありません。

(RT EXPR)
location

指定しない場合、変数と値の一致が、変数文字列内の任意の位置で実行される場合があります。指定する場合、一致は変数文字列内の指定した位置(startまたはend)で実行されます。

(RT EXPR)
name

一致させる変数は、この属性で指定したJSP Bean(propertyを指定しない場合)、またはこのBeanの指定したプロパティの値(propertyを指定する場合)になります。

(RT EXPR)
parameter

一致させる変数は、この属性で指定したリクエスト・パラメータの最初(または唯一)の値になります。

(RT EXPR)
property

一致させる変数は、この属性で指定した(name属性で指定したBeanの)プロパティになります。プロパティ参照では、単純なプロパティ、ネストされたプロパティまたは索引付きプロパティのいずれか、あるいはそのすべてを使用できます。

(RT EXPR)
scope

nameプロパティで名前を指定したBeanを検索するための範囲となるBeanスコープ。指定しない場合は、すべてのスコープになります。

(RT EXPR)
value

指定した変数の部分文字列として存在するかどうかをチェックする定数値。

(必須) (RT EXPR)
notPresent:  指定した値がこのリクエスト内に存在しない場合、このタグのネストされた本体コンテンツを生成します。

指定した値が存在しない場合にのみ、指定した属性に応じて、現在のリクエストをチェックし、このタグのネストされた本体コンテンツを評価します。property属性を指定しない場合、このタグ1つに対していずれか1つの属性のみを指定できます。property属性を指定する場合は、name属性も必要です。

属性名説明
cookie

指定した名前のCookieが存在するかどうかをチェックします。

(RT EXPR)
header

指定した名前のHTTPヘッダーが存在するかどうかをチェックします。名前の一致では、大文字と小文字の区別はありません。

(RT EXPR)
name

指定した名前のJSP Beanが、任意のスコープ内に存在するかどうかをチェックします。propertyを指定する場合は、そのプロパティのnull以外のプロパティ値がチェックされます。

(RT EXPR)
parameter

パラメータ値が長さゼロの文字列である場合も含め、指定したリクエスト・パラメータがこのリクエストに少なくとも1つ存在するかどうかをチェックします。

(RT EXPR)
property

name属性で指定した(任意のスコープの)JSP Beanのプロパティgetterメソッドにより返される、null以外のプロパティ値が存在するかどうかをチェックします。プロパティ参照では、単純なプロパティ、ネストされたプロパティまたは索引付きプロパティのいずれか、あるいはそのすべてを使用できます。

(RT EXPR)
role

現在の認証されたユーザー(存在する場合)が、指定したセキュリティ・ロールと関連付けられているかどうかをチェックします。

(RT EXPR)
scope

nameプロパティで名前を指定したBeanを検索するための範囲となるBeanスコープ。指定しない場合は、すべてのスコープになります。

(RT EXPR)
user

指定した名前が、現在の認証されたユーザーのプリンシパル名に存在するかどうかをチェックします。

(RT EXPR)
present:  指定した値がこのリクエスト内に存在する場合、このタグのネストされた本体コンテンツを生成します。

指定した値が存在する場合にのみ、指定した属性に応じて、現在のリクエストをチェックし、このタグのネストされた本体コンテンツを評価します。property属性を指定しない場合、このタグ1つに対していずれか1つの属性のみを指定できます。property属性を指定する場合は、name属性も必要です。

属性名説明
cookie

指定した名前のCookieが存在するかどうかをチェックします。

(RT EXPR)
header

指定した名前のHTTPヘッダーが存在するかどうかをチェックします。名前の一致では、大文字と小文字の区別はありません。

(RT EXPR)
name

指定した名前のJSP Beanが、任意のスコープ内に存在するかどうかをチェックします。propertyを指定する場合は、そのプロパティのnull以外のプロパティ値がチェックされます。

(RT EXPR)
parameter

パラメータ値が長さゼロの文字列である場合も含め、指定したリクエスト・パラメータがこのリクエストに少なくとも1つ存在するかどうかをチェックします。

(RT EXPR)
property

name属性で指定した(任意のスコープの)JSP Beanのプロパティgetterメソッドにより返される、null以外のプロパティ値が存在するかどうかをチェックします。プロパティ参照では、単純なプロパティ、ネストされたプロパティまたは索引付きプロパティのいずれか、あるいはそのすべてを使用できます。

(RT EXPR)
role

現在の認証されたユーザー(存在する場合)が、指定したセキュリティ・ロールのいずれかと関連付けられているかどうかをチェックします。複数のロールをチェックする場合は、カンマ区切りのリストを使用してください。たとえば、<logic:present role="role1,role2,role3"> code..... </logic:present>のようになります。

(RT EXPR)
scope

nameプロパティで名前を指定したBeanを検索するための範囲となるBeanスコープ。指定しない場合は、すべてのスコープになります。

(RT EXPR)
user

指定した名前が、現在の認証されたユーザーのプリンシパル名に存在するかどうかをチェックします。

(RT EXPR)
redirect: HTTPリダイレクトをレンダリングします。

このタグの属性で指定したハイパーリンクへのHttpServletResponse.sendRedirect()コールを実行します。Cookieがない場合にセッション状態を保持するため、URLリライティングが自動的に適用されます。

このリダイレクトのベースURLは、指定を行う次の属性に基づいて求められます(どれか一つを指定する必要があります)。

  • forward: 検索対象のグローバルActionForwardの名前としてこの属性の値を使用し、そこで検出されるアプリケーション相対URIまたはコンテキスト相対URIを使用します。
  • href: この属性の値を変更せずに使用します。
  • page: アプリケーション相対URIとしてこの属性の値を使用し、コンテキスト・パスをインクルードしてサーバー相対URIを生成します。

通常、前述の属性のいずれかを使用して指定したリダイレクトは、変更されません(URLリライティングが必要な場合以外)。ただし、動的に定義した1つ以上の問合せパラメータをハイパーリンクに追加する方法が2つあります。paramId属性(と値を選択するための関連する属性)を含む1つのパラメータを指定する方法と、1つ以上のパラメータIDと対応する値を含むjava.util.Map Beanを選択するためのname属性(とオプションのproperty属性)を指定する方法です。

1つのパラメータを指定する場合は、paramId属性を使用して、送信するリクエスト・パラメータの名前を定義します。対応する値を指定するには、次のいずれかの方法を使用します。

  • paramName属性のみの指定: 名前付きJSP Bean(オプションでparamScope属性の値により範囲指定)は、文字列に変換できる値を識別する必要があります。
  • paramName属性とparamProperty属性の指定: 指定されるプロパティgetterメソッドは、文字列に変換できる値を選択するために、paramName属性(とオプションのparamScope属性)で識別されるJSP Beanでコールされます。

ハイパーリンクに追加するすべてのリクエスト・パラメータを含むjava.util.Mapを指定する場合は、次のいずれかの方法を使用します。

  • name属性のみの指定: 名前付きJSP Bean(オプションでscope属性の値により範囲指定)は、パラメータを含むjava.util.Mapを識別する必要があります。
  • name属性とproperty属性の指定: 指定されるプロパティgetterメソッドは、パラメータを含むjava.util.Mapを返すために、name属性(とオプションのscope属性)で識別されるBeanでコールされます。

Mapが処理されると、キーは、ハイパーリンクに追加される問合せパラメータの名前であるとみなされます。各キーに関連付けられている値は、パラメータ値を表す文字列または文字列配列のいずれかになります。文字列配列が指定された場合、同じ問合せパラメータ名で複数の値が作成されます。

属性名説明
anchor

生成されるハイパーリンクにオプションとして追加するanchorタグ(#xxx)。#文字は使用せずにこの値を指定してください。

(RT EXPR)
forward

このリダイレクト先の実際のコンテンツ相対URIを含むグローバルActionForwardの論理名。このURIは、タグの記述どおりに、問合せパラメータのインクルードによって動的に変更される場合があります。forward属性、href属性、linkName属性またはpage属性のどれか一つを指定する必要があります

(RT EXPR)
href

このリダイレクトによるコントロールのフォワード先となるURL。このURLは、タグの記述どおりに、問合せパラメータのインクルードによって動的に変更される場合があります。forward属性、href属性、linkName属性またはpage属性のどれか一つを指定する必要があります

(RT EXPR)
name

問合せパラメータを表すMapを含むJSP Beanの名前(propertyを指定しない場合)、またはMapを返すためにコールされるプロパティgetterを含むJSP Beanの名前(propertyを指定した場合)。

(RT EXPR)
page

アクティブ化された場合に、このハイパーリンクによるコントロールのフォワード先となる(スラッシュで始まる)コンテキスト相対パス。このハイパーリンクは、タグの記述どおりに、問合せパラメータのインクルードによって動的に変更される場合があります。forward属性、href属性、linkName属性またはpage属性のどれか一つを指定する必要があります

(RT EXPR)
paramId

生成されるハイパーリンクに動的に追加されるリクエスト・パラメータの名前。対応する値は、paramName属性と(オプションの)paramProperty属性によって定義され、オプションとしてparamScope属性で範囲指定されます。

(RT EXPR)
paramName

paramIdで指定されるリクエスト・パラメータの値を含む、文字列であるJSP Beanの名前(paramPropertyを指定しない場合)。または文字列を返すためにコールされるプロパティgetterを含むJSP Beanの名前(paramPropertyを指定した場合)。JSP Beanは、paramScopeプロパティを指定した場合はそのBeanスコープに制限されます。

(RT EXPR)
paramProperty

paramName属性によって指定されるBeanのプロパティ名。その戻り値は、このハイパーリンクに動的に追加されるリクエスト・パラメータ(paramId属性によって指定される)の値を含む文字列となります。

(RT EXPR)
paramScope

paramName属性によって指定されたBeanを検索するスコープ。指定しない場合、すべてのスコープが検索されます。

(RT EXPR)
property

name属性によって指定されるBeanのプロパティ名。その戻り値は、ハイパーリンクに追加される問合せパラメータを含むjava.util.Mapとなります。この属性を指定する場合は、name属性を指定する必要があります

(RT EXPR)
scope

name属性によって指定されるBeanを検索するスコープ。指定しない場合、すべてのスコープが検索されます。

(RT EXPR)
transaction

このリダイレクトで生成されるURLに現在のトランザクションの制御トークンをインクルードする場合は、trueに設定します。

(RT EXPR)

Copyright (c) 2000-2002, Apache Software Foundation