TagData-Klasse  
 
Klassenname:

javax.servlet.jsp.tagext.TagData

 
Erweitert:

Keine

 
Implementiert:

Cloneable

 
Implementiert von:

Interne containerabhängige Klasse. Die meisten Container verwenden die Verweisimplementierung der Klasse (im Apache Jakarta-Projekt entwickelt).

 
Beschreibung

TagData-Instanzen werden vom Webcontainer während der Übersetzung erstellt. Sie bieten der Unterklasse TagExtraInfo für die entsprechende Tag-Prozedur (falls vorhanden) Informationen über die Attributwerte, die für eine benutzerdefinierte Aktion angegeben wurden.

 
Beispiel

Nachdem der Webcontainer auf Grundlage der Attributinformationen in der TLD-Datei alle Prüfungen vorgenommen hat, die er eigenständig durchführen kann, sucht er für die benutzerdefinierte Aktion nach einer Unterklasse TagExtraInfo, die vom Element <teiclass> definiert wird. Wenn eine solche Unterklasse definiert ist, platziert der Webcontainer alle Attributinformationen in eine Instanz der Klasse TagData und ruft die Methode TagExtraInfo isValid() auf:

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;
}

Eine Unterklasse TagExtraInfo kann die TagData-Instanz verwenden, um die Attributabhängigkeiten zu überprüfen, wie in diesem Beispiel. In JSP 1.1 kann jedoch keine geeignete Fehlermeldung generiert werden. Die Methode kann lediglich false zurückgeben, um auf Probleme hinzuweisen. Diese Einschränkung wird wahrscheinlich in einer zukünftigen Version von JSP aufgehoben.

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

Erstellt eine neue Instanz mit den Attribut-/Wert-Paaren, die von Object[][] angegeben sind. Element 0 von jedem Object[] enthält den Namen. Element 1 enthält den Wert oder REQUEST_TIME_VALUE (wenn der Attributwert für die Anforderungszeit vorgesehen ist oder als JSP-Ausdruck definiert ist).

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

Erstellt eine neue Instanz mit den Attribut-/Wert-Paaren, die von Hashtable angegeben sind.

getAttribute()  
public Object getAttribute(String attName)

Gibt den angegebenen Attributwert als String zurück oder als Objekt REQUEST_TIME_VALUE (wenn der Attributwert für die Anforderungszeit vorgesehen ist oder als JSP-Ausdruck definiert ist).

getAttributeString()  
public String getAttributeString(String attName)

Gibt den angegebenen Attributwert als String zurück. Wenn der Attributwert für die Anforderungszeit vorgesehen ist (als JSP-Ausdruck definiert), wird die Ausnahme ClassCastException ausgelöst.

getId()  
public String getId()

Gibt die id des Attributs als String zurück. Wenn der Wert nicht gefunden wird, lautet die Rückgabe null.

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

Stellt das angegebene Attribut auf den angegebenen Wert ein.