Class TagSupport
- All Implemented Interfaces:
Serializable
,IterationTag
,JspTag
,Tag
- Direct Known Subclasses:
BodyTagSupport
The TagSupport class is a utility class intended to be used as the base class for new tag handlers. The TagSupport class implements the Tag and IterationTag interfaces and adds additional convenience methods including getter methods for the properties in Tag. TagSupport has one static method that is included to facilitate coordination among cooperating tags.
Many tag handlers will extend TagSupport and only redefine a few methods.
- See Also:
-
Field Summary
Modifier and TypeFieldDescriptionprotected String
The value of the id attribute of this tag; or null.protected PageContext
The PageContext.Fields inherited from interface javax.servlet.jsp.tagext.IterationTag
EVAL_BODY_AGAIN
Fields inherited from interface javax.servlet.jsp.tagext.Tag
EVAL_BODY_INCLUDE, EVAL_PAGE, SKIP_BODY, SKIP_PAGE
-
Constructor Summary
ConstructorDescriptionDefault constructor, all subclasses are required to define only a public constructor with the same signature, and to call the superclass constructor. -
Method Summary
Modifier and TypeMethodDescriptionint
Default processing for a body.int
doEndTag()
Default processing of the end tag returning EVAL_PAGE.int
Default processing of the start tag, returning SKIP_BODY.static final Tag
findAncestorWithClass
(Tag from, Class klass) Find the instance of a given class type that is closest to a given instance.getId()
The value of the id attribute of this tag; or null.The Tag instance most closely enclosing this tag instance.Get a the value associated with a key.Enumerate the keys for the values kept by this tag handler.void
release()
Release state.void
Remove a value associated with a key.void
Set the id attribute for this tag.void
setPageContext
(PageContext pageContext) Set the page context.void
Set the nesting tag of this tag.void
Associate a value with a String key.
-
Field Details
-
id
The value of the id attribute of this tag; or null. -
pageContext
The PageContext.
-
-
Constructor Details
-
TagSupport
public TagSupport()Default constructor, all subclasses are required to define only a public constructor with the same signature, and to call the superclass constructor. This constructor is called by the code generated by the JSP translator.
-
-
Method Details
-
findAncestorWithClass
Find the instance of a given class type that is closest to a given instance. This method uses the getParent method from the Tag interface. This method is used for coordination among cooperating tags.The current version of the specification only provides one formal way of indicating the observable type of a tag handler: its tag handler implementation class, described in the tag-class subelement of the tag element. This is extended in an informal manner by allowing the tag library author to indicate in the description subelement an observable type. The type should be a subtype of the tag handler implementation class or void. This additional constraint can be exploited by a specialized container that knows about that specific tag library, as in the case of the JSP standard tag library.
When a tag library author provides information on the observable type of a tag handler, client programmatic code should adhere to that constraint. Specifically, the Class passed to findAncestorWithClass should be a subtype of the observable type.
- Parameters:
from
- The instance from where to start looking.klass
- The subclass of Tag or interface to be matched- Returns:
- the nearest ancestor that implements the interface or is an instance of the class specified
-
doStartTag
Default processing of the start tag, returning SKIP_BODY.- Specified by:
doStartTag
in interfaceTag
- Returns:
- SKIP_BODY
- Throws:
JspException
- if an error occurs while processing this tag- See Also:
-
doEndTag
Default processing of the end tag returning EVAL_PAGE.- Specified by:
doEndTag
in interfaceTag
- Returns:
- EVAL_PAGE
- Throws:
JspException
- if an error occurs while processing this tag- See Also:
-
doAfterBody
Default processing for a body.- Specified by:
doAfterBody
in interfaceIterationTag
- Returns:
- SKIP_BODY
- Throws:
JspException
- if an error occurs while processing this tag- See Also:
-
release
public void release()Release state. -
setParent
Set the nesting tag of this tag. -
getParent
The Tag instance most closely enclosing this tag instance. -
setId
Set the id attribute for this tag.- Parameters:
id
- The String for the id.
-
getId
The value of the id attribute of this tag; or null.- Returns:
- the value of the id attribute, or null
-
setPageContext
Set the page context.- Specified by:
setPageContext
in interfaceTag
- Parameters:
pageContext
- The PageContext.- See Also:
-
setValue
Associate a value with a String key.- Parameters:
k
- The key String.o
- The value to associate.
-
getValue
Get a the value associated with a key.- Parameters:
k
- The string key.- Returns:
- The value associated with the key, or null.
-
removeValue
Remove a value associated with a key.- Parameters:
k
- The string key.
-
getValues
Enumerate the keys for the values kept by this tag handler.- Returns:
- An enumeration of all the keys for the values set, or null or an empty Enumeration if no values have been set.
-