javax.servlet.jsp.tagext
クラス VariableInfo

java.lang.Object
  |
  +--javax.servlet.jsp.tagext.VariableInfo

public class VariableInfo
extends Object

スクリプト変数の情報は(ランタイム)タグによって作成/変更されます。 この情報は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
 

フィールドの詳細

NESTED

public static final int NESTED
スクリプト変数のスコープは開始タグと終了タグの間だけです。

関連項目:
定数フィールド値

AT_BEGIN

public static final int AT_BEGIN
スクリプト変数のスコープは開始タグの後です。

関連項目:
定数フィールド値

AT_END

public static final int AT_END
スクリプト変数のスコープは終了タグの後までです。

関連項目:
定数フィールド値
コンストラクタの詳細

VariableInfo

public VariableInfo(String varName,
                    String className,
                    boolean declare,
                    int scope)
コンストラクタ これらのオブジェクトは、変換時にTagExtraInfoインスタンスより作成することができます。

パラメータ:
className - スクリプト変数名
declare - もし true ならば、それは新しい変数 (いくつかの言語では、宣言する必要がある)
scope - 変数のレキシカル・スコープを表す値
メソッドの詳細

getVarName

public String getVarName()

getClassName

public String getClassName()

getDeclare

public boolean getDeclare()

getScope

public int getScope()


このドキュメントは、Ja-Jakarta Project により翻訳されました。コメントがある場合は、jajakarta-report@jajakarta.good-day.netまでお願いします。

Copyright © 1999-2002 The Apache Software Foundation. All Rights Reserved.