Classe TagData |
Nom de la classe :
javax.servlet.jsp.tagext.TagData
Etend :
Aucun
Implémente :
Cloneable
Implémentée par :
Classe interne dépendante du container. La plupart des containers utilisent l'implémentation de référence de la classe (développée dans le projet Apache Jakarta).
Description
Les instances TagData sont créées par le container web pendant la phase de traduction. Elles fournissent des informations sur les valeurs d'attribut spécifiées d'une action personnalisée de la sous-classe TagExtraInfo pour le gestionnaire de balises correspondant, le cas échéant.
Exemple
Lorsque le container web a terminé de vérifier toutes les informations qu'il pouvait personnellement vérifier en fonction des informations d'attribut contenus dans les TLD, il recherche une sous-classe TagExtraInfo, définie par l'élément <teiclass> de l'action personnalisée. Si une sous-classe est définie, il place toutes les informations d'attribut dans une instance de la classe TagData et appelle la méthode 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;
    }
Une sous-classe TagExtraInfo peut faire appel à l'instance TagData pour vérifier que toutes les dépendances d'attribut sont OK, comme dans l'exemple. Dans JSP 1.1, il n'existe malheureusement aucun moyen de générer un message d'erreur approprié ; la méthode peut uniquement renvoyer la valeur false pour signaler tout problème éventuel. Ce problème sera fort heureusement corrigé dans une future version de JSP.

TagData() |
public TagData(Object[][] atts)
Crée une nouvelle instance avec les paires valeur/nom d'attribut spécifiées par l'élément Object[][]. L'élément 0 de tous les Object[] contient le nom ; l'élément 1 contient la valeur ou REQUEST_TIME_VALUE (si la valeur de l'attribut est définie comme une valeur de demande de délai ou une expression JSP).

TagData() |
public TagData(java.util.Hashtable attrs)
Crée une nouvelle instance avec les paires valeur/nom d'attribut spécifiées par l'élément Hashtable.

getAttribute() |
public Object getAttribute(String attName)
Renvoie la valeur de l'attribut spécifié sous forme de String ou d'objet REQUEST_TIME_VALUE (si la valeur de l'attribut est définie comme une valeur de demande de délai ou une expression JSP).

getAttributeString() |
public String getAttributeString(String attName)
Renvoie la valeur d'attribut spécifiée sous forme de String. Une exception ClassCastException est déclenchée si la valeur de l'attribut est définie comme une valeur de demande de délai (une expression JSP).

getId() |
public String getId()
Renvoie l'attribut nommé id sous forme de String ou la valeur null si l'attribut est introuvable.

setAttribute() |
public void setAttribute(String attName, Object value)
Affecte la valeur spécifiée à l'attribut défini.