|
|||||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object | +--javax.servlet.jsp.tagext.VariableInfo
スクリプト変数の情報は(ランタイム)タグによって作成/変更されます。 この情報はTagExtraInfoクラスによって提供され、JSPのパースに使用されます。
スクリプト変数は、page、request、 session、applicationのscope変数を保持するカスタムアクションによって生成されます。
返されたオブジェクトのクラス名(VariableInfo.getClassName)を用いて、 スクリプト変数の型を決めます。このため、カスタムアクションがプリミティブな型を持つスクリプト変数を作成することはできません。回避策としては、「箱に入れられた(boxed)」型を用いる方法があります。
クラス名は完全修飾クラス名か、短いクラス名になります。
もし、完全修飾クラス名で提供されない場合、Webアプリケーション(Servlet 2.3仕様 - 要点はWEB-INF/libとWEB-INF/classesを参照してください)で設定されているCLASSPATHのクラスを参照すべきです。 そうすることに失敗した場合は、翻訳時エラーに結びつきます。
短いクラス名が、VariableInfo オブジェクトで与えられた場合、それは、 カスタムアクションがあるところのページの import ディレクティブから見て public となるクラスの短い名前でなくてはなりません(関連する JLS の決まりごとがあるかどうか、チェックの必要あり) クラスはWebアプリケーション(Servlet 2.3仕様 - 要点はWEB-INF/libとWEB-INF/classesを参照してください)のCLASSPATH内にあることもあります。
使い方に関するコメント
たいていの場合に完全修飾クラス名が示すものは、タグライブラリが知っているクラス、つまりタグハンドラと同じJARファイルで提供されるクラスです。 他の場合、JSPプロセッサの元となったプラットフォーム(たとえばJ2EE)にあるクラスを指しています。このような形で完全修飾クラス名を使っていると、設定ミスによる影響が相対的に少なくなります。
短い名前は通常、カスタムアクションユーザ(作成者)から渡されたいくつかの属性をベースにしたタグライブラリによって生成され、 それほど強固ではなくなります: import指示子なしでJSPページを参照すると、簡単に不正な短い名前のクラスや翻訳エラーを招きます。
同期プロトコル
getVariableInfoの起動の結果は、VariableInfoオブジェクトの配列です。 互いのオブジェクトはその名前や、タイプ、変数が新しいかどうか、どのスコープかという情報から提供されたスクリプト変数を保持します。 スコープは図を通して説明するのが最適です。
JSP1.2仕様は、3つの値を解釈します。:
TLDの変数情報
スクリプト変数情報は、<tag>要素の<variable>サブ要素を使用したTLDのほとんどのケースで直接エンコードすることも可能です。 JSP仕様を参照して下さい。
フィールドの概要 | |
static int |
AT_BEGIN
スクリプト変数のスコープは開始タグの後です。 |
static int |
AT_END
スクリプト変数のスコープは終了タグの後までです。 |
static int |
NESTED
スクリプト変数のスコープは開始タグと終了タグの間だけです。 |
コンストラクタの概要 | |
VariableInfo(String varName,
String className,
boolean declare,
int scope)
コンストラクタ これらのオブジェクトは、変換時にTagExtraInfoインスタンスより作成することができます。 |
メソッドの概要 | |
String |
getClassName()
|
boolean |
getDeclare()
|
int |
getScope()
|
String |
getVarName()
|
クラス java.lang.Object から継承したメソッド |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
フィールドの詳細 |
public static final int NESTED
public static final int AT_BEGIN
public static final int AT_END
コンストラクタの詳細 |
public VariableInfo(String varName, String className, boolean declare, int scope)
className
- スクリプト変数名declare
- もし true ならば、それは新しい変数 (いくつかの言語では、宣言する必要がある)scope
- 変数のレキシカル・スコープを表す値メソッドの詳細 |
public String getVarName()
public String getClassName()
public boolean getDeclare()
public int getScope()
|
|||||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
このドキュメントは、Ja-Jakarta Project により翻訳されました。コメントがある場合は、jajakarta-report@jajakarta.good-day.netまでお願いします。
Copyright © 1999-2002 The Apache Software Foundation. All Rights Reserved.