API java : VariableInfo


javax.servlet.jsp.tagext
Class VariableInfo

java.lang.Object
  extended by javax.servlet.jsp.tagext.VariableInfo

public class VariableInfo
extends Object

Information on the scripting variables that are created/modified by a tag (at run-time). This information is provided by TagExtraInfo classes and it is used by the translation phase of JSP.

Scripting variables generated by a custom action have an associated scope of either AT_BEGIN, NESTED, or AT_END.

The class name (VariableInfo.getClassName) in the returned objects is used to determine the types of the scripting variables. Note that because scripting variables are assigned their values from scoped attributes which cannot be of primitive types, "boxed" types such as java.lang.Integer must be used instead of primitives.

The class name may be a Fully Qualified Class Name, or a short class name.

If a Fully Qualified Class Name is provided, it should refer to a class that should be in the CLASSPATH for the Web Application (see Servlet 2.4 specification - essentially it is WEB-INF/lib and WEB-INF/classes). Failure to be so will lead to a translation-time error.

If a short class name is given in the VariableInfo objects, then the class name must be that of a public class in the context of the import directives of the page where the custom action appears. The class must also be in the CLASSPATH for the Web Application (see Servlet 2.4 specification - essentially it is WEB-INF/lib and WEB-INF/classes). Failure to be so will lead to a translation-time error.

Usage Comments

Frequently a fully qualified class name will refer to a class that is known to the tag library and thus, delivered in the same JAR file as the tag handlers. In most other remaining cases it will refer to a class that is in the platform on which the JSP processor is built (like Java EE). Using fully qualified class names in this manner makes the usage relatively resistant to configuration errors.

A short name is usually generated by the tag library based on some attributes passed through from the custom action user (the author), and it is thus less robust: for instance a missing import directive in the referring JSP page will lead to an invalid short name class and a translation error.

Synchronization Protocol

The result of the invocation on getVariableInfo is an array of VariableInfo objects. Each such object describes a scripting variable by providing its name, its type, whether the variable is new or not, and what its scope is. Scope is best described through a picture:

NESTED, AT_BEGIN and AT_END Variable Scopes

The JSP 2.0 specification defines the interpretation of 3 values:

  • NESTED, if the scripting variable is available between the start tag and the end tag of the action that defines it.
  • AT_BEGIN, if the scripting variable is available from the start tag of the action that defines it until the end of the scope.
  • AT_END, if the scripting variable is available after the end tag of the action that defines it until the end of the scope.
The scope value for a variable implies what methods may affect its value and thus where synchronization is needed as illustrated by the table below. Note: the synchronization of the variable(s) will occur after the respective method has been called.
Variable Synchronization Points
  doStartTag() doInitBody() doAfterBody() doEndTag() doTag()
Tag
AT_BEGIN, NESTED


AT_BEGIN, AT_END

IterationTag
AT_BEGIN, NESTED

AT_BEGIN, NESTED
AT_BEGIN, AT_END

BodyTag
AT_BEGIN, NESTED1
AT_BEGIN, NESTED1
AT_BEGIN, NESTED
AT_BEGIN, AT_END

SimpleTag




AT_BEGIN, AT_END
1 Called after doStartTag() if EVAL_BODY_INCLUDE is returned, or after doInitBody() otherwise.

Variable Information in the TLD

Scripting variable information can also be encoded directly for most cases into the Tag Library Descriptor using the <variable> subelement of the <tag> element. See the JSP specification.


Field Summary
static int AT_BEGIN
          Scope information that scripting variable is visible after start tag.
static int AT_END
          Scope information that scripting variable is visible after end tag.
static int NESTED
          Scope information that scripting variable is visible only within the start/end tags.
 
Constructor Summary
VariableInfo(String varName, String className, boolean declare, int scope)
          Constructor These objects can be created (at translation time) by the TagExtraInfo instances.
 
Method Summary
 String getClassName()
          Returns the type of this variable.
 boolean getDeclare()
          Returns whether this is a new variable.
 int getScope()
          Returns the lexical scope of the variable.
 String getVarName()
          Returns the name of the scripting variable.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

NESTED

public static final int NESTED
Scope information that scripting variable is visible only within the start/end tags.

See Also:
Constant Field Values

AT_BEGIN

public static final int AT_BEGIN
Scope information that scripting variable is visible after start tag.

See Also:
Constant Field Values

AT_END

public static final int AT_END
Scope information that scripting variable is visible after end tag.

See Also:
Constant Field Values
Constructor Detail

VariableInfo

public VariableInfo(String varName,
                    String className,
                    boolean declare,
                    int scope)
Constructor These objects can be created (at translation time) by the TagExtraInfo instances.

Parameters:
varName - The name of the scripting variable
className - The type of this variable
declare - If true, it is a new variable (in some languages this will require a declaration)
scope - Indication on the lexical scope of the variable
Method Detail

getVarName

public String getVarName()
Returns the name of the scripting variable.

Returns:
the name of the scripting variable

getClassName

public String getClassName()
Returns the type of this variable.

Returns:
the type of this variable

getDeclare

public boolean getDeclare()
Returns whether this is a new variable. If so, in some languages this will require a declaration.

Returns:
whether this is a new variable.

getScope

public int getScope()
Returns the lexical scope of the variable.

Returns:
the lexical scope of the variable, either AT_BEGIN, AT_END, or NESTED.
See Also:
AT_BEGIN, AT_END, NESTED

Ces informations proviennent du site de http://java.sun.com

Remarques

Contenu

Le contenu de cette page provient du site de Sun, et est généré depuis un cache sur l'infobrol après certains traitements automatisés. La présentation peut donc différer du document original, mais le contenu aussi. Vous pouvez utiliser ce bouton pour afficher la page originale du site de Sun :

Quels sont les motivations de cette démarche?

Maintenir les pages en cache sur différents sites peut offrir plus de disponibilité.

Chaque page est indexée dans la base de donnée, ce qui permet de retrouver facilement les informations, au moyen des sommaires, du moteur de recherche interne, etc.

Des facilités sont mises en place pour que les membres de l'infobrol puissent effectuer des traductions en français des différents documents. Ceci devrait permettre aux débutants en programmation Java de consulter les API en français s'ils maîtrisent moins bien la langue de Shakespeare. Dans le cas où une traduction a été soumise, elle est disponible au moyen d'un lien en bas de page. Si la traduction a été validée, la page s'affiche par défaut en français, et un lien en bas de page permet d'atteindre la version en anglais.

Le code sur l'infobrol est automatiquement coloré selon la syntaxe, et les différents mots clés sont transformés en liens pour accéder rapidement aux informations.

Vous avez la possibilité de partager vos expériences en proposant vos propres extraits de code en utilisant le bouton "ajouter un commentaire" en bas de page. Si vous visitez simplement l'infobrol, vous avez déjà accès à cette fonction, mais si vous étes membre du brol, vous pouvez en plus utiliser des boutons supplémentaires de mise en forme, dont la coloration automatique de vos extraits de codes.

Réseaux sociaux

Vous pouvez modifier vos préférences dans votre profil pour ne plus afficher les interactions avec les réseaux sociaux sur ces pages.

 

Nuage de mots clés

6 mots clés dont 0 définis manuellement (plus d'information...).

Avertissement

Cette page ne possède pas encore de mots clés manuels, ceci est donc un exemple automatique (les niveaux de pertinence sont fictifs, mais les liens sont valables). Pour tester le nuage avec une page qui contient des mots définis manuellement, vous pouvez cliquer ici.

Vous pouvez modifier vos préférences dans votre profil pour ne plus afficher le nuage de mots clés.

 

Astuce pour imprimer les couleurs des cellules de tableaux : http://www.gaudry.be/ast-rf-450.html
Aucun commentaire pour cette page

© Ce document issu de l′infobrol est enregistré sous le certificat Cyber PrInterDeposit Digital Numbertection. Enregistrement IDDN n° 5329-12627
Document créé le 13/04/08 23:13, dernière modification le Vendredi 17 Juin 2011, 10:12
Source du document imprimé : http:///www.gaudry.be/java-api-javaee-rf-javax/ejb/ActivationConfigProperty.html
St.Gaudry©07.01.02
Outils (masquer)
||
Recherche (afficher)
Recherche :

Navigation (masquer)
Apparence (afficher)
Stats (afficher)
15838 documents
455 astuces.
550 niouzes.
3107 definitions.
447 membres.
8121 messages.

Document genere en :
0,06 seconde

Mises à jour :
Mises à jour du site
Citation (masquer)
Ce qu'on ne veut pas savoir de soi-même finit par arriver de l'extérieur comme un destin.

Carl Gustav Jung
 
l'infobrol
Nous sommes le Vendredi 25 Mai 2018, 20:37, toutes les heures sont au format GMTs