TagData クラス  
 
クラス名 :

javax.servlet.jsp.tagext.TagData

 
拡張するクラス :

なし

 
実装するクラス :

Cloneable

 
実装先クラス :

内部コンテナ固有のクラス。ほとんどのコンテナは、このクラスの参照実装 (Apache Jakarta プロジェクトで作成) を使用します。

 
説明

TagData インスタンスは、変換フェーズ中に Web コンテナによって作成されます。対応するタグハンドラの TagExtraInfo サブクラス用のカスタムアクションに指定された属性値に関する情報がある場合は、その情報を提供します。

 

Web コンテナが TLD の属性情報を基に、独自で可能なすべてをチェックした後に、カスタムアクション用に <teiclass> 要素で定義された TagExtraInfo サブクラスを検索します。定義されている場合、TagData クラスのインスタンスにすべての属性情報を配置し、TagExtraInfo isValid() メソッドを呼び出します。

public boolean isValid(TagData data) {
    // Mutually exclusive attributes
    if (data.getAttribute("attr1") != null &
        data.getAttribute("attr2" != null) {
        return false;
    }

    // Dependent optional attributes
    if (data.getAttribute("attr3") != null &
        data.getAttribute("attr4" == null) {
        return false;
    }
    return true;
}

TagExtraInfo サブクラスは、この例のように TagData インスタンスを使用して、すべての属性の依存関係が正しいことを確認します。残念なことに、JSP 1.1 では、適切なエラーメッセージを生成する方法がありません。このメソッドは、何かが正しくないことを示すために、false を返すことしかできません。これは、将来のバージョンの JSP では修正される可能性があります。

TagData()  
public TagData(Object[][] atts)

Object[][] で指定される属性の「名前/値」のペアを使用して新しいインスタンスを作成します。各 Object[] の要素 0 には名前が含まれ、要素 1 には値または REQUEST_TIME_VALUE が含まれます (属性値が要求時間値または JSP 式として定義されている場合)。

TagData()  
public TagData(java.util.Hashtable attrs)

Hashtable で指定される属性の「名前/値」のペアを使用して新しいインスタンスを作成します。

getAttribute( )  
public Object getAttribute(String attName)

指定された属性値を String または REQUEST_TIME_VALUE オブジェクトとして返します (属性値が要求時間値または JSP 式として定義されている場合)。

getAttributeString()  
public String getAttributeString(String attName)

指定された属性値を String として返します。属性値が要求時間値 (JSP 式) として定義されている場合は ClassCastException がスローされます。

getId()  
public String getId()

id という属性を String として返します。この属性が見つからない場合は null を返します。

setAttribute( )  
public void setAttribute(String attName, Object value)

指定された属性を指定された値に設定します。