public class TagSupport extends java.lang.Object implements IterationTag, java.io.Serializable
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.
Modifier and Type | Field and Description |
---|---|
protected java.lang.String |
id
The value of the id attribute of this tag; or null.
|
protected PageContext |
pageContext
The PageContext.
|
EVAL_BODY_AGAIN
EVAL_BODY_INCLUDE, EVAL_PAGE, SKIP_BODY, SKIP_PAGE
Constructor and Description |
---|
TagSupport()
Default constructor, all subclasses are required to define only a public constructor with the same signature, and
to call the superclass constructor.
|
Modifier and Type | Method and Description |
---|---|
int |
doAfterBody()
Default processing for a body.
|
int |
doEndTag()
Default processing of the end tag returning EVAL_PAGE.
|
int |
doStartTag()
Default processing of the start tag, returning SKIP_BODY.
|
static Tag |
findAncestorWithClass(Tag from,
java.lang.Class klass)
Find the instance of a given class type that is closest to a given instance.
|
java.lang.String |
getId()
The value of the id attribute of this tag; or null.
|
Tag |
getParent()
The Tag instance most closely enclosing this tag instance.
|
java.lang.Object |
getValue(java.lang.String k)
Get a the value associated with a key.
|
java.util.Enumeration<java.lang.String> |
getValues()
Enumerate the keys for the values kept by this tag handler.
|
void |
release()
Release state.
|
void |
removeValue(java.lang.String k)
Remove a value associated with a key.
|
void |
setId(java.lang.String id)
Set the id attribute for this tag.
|
void |
setPageContext(PageContext pageContext)
Set the page context.
|
void |
setParent(Tag t)
Set the nesting tag of this tag.
|
void |
setValue(java.lang.String k,
java.lang.Object o)
Associate a value with a String key.
|
protected java.lang.String id
protected PageContext pageContext
public TagSupport()
public static final Tag findAncestorWithClass(Tag from, java.lang.Class klass)
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 addititional 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.
from
- The instance from where to start looking.klass
- The subclass of Tag or interface to be matchedpublic int doStartTag() throws JspException
doStartTag
in interface Tag
JspException
- if an error occurs while processing this tagTag.doStartTag()
public int doEndTag() throws JspException
doEndTag
in interface Tag
JspException
- if an error occurs while processing this tagTag.doEndTag()
public int doAfterBody() throws JspException
doAfterBody
in interface IterationTag
JspException
- if an error occurs while processing this tagIterationTag.doAfterBody()
public void release()
release
in interface Tag
Tag.release()
public void setParent(Tag t)
setParent
in interface Tag
t
- The parent Tag.Tag.setParent(Tag)
public Tag getParent()
getParent
in interface Tag
Tag.getParent()
public void setId(java.lang.String id)
id
- The String for the id.public java.lang.String getId()
public void setPageContext(PageContext pageContext)
setPageContext
in interface Tag
pageContext
- The PageContext.Tag.setPageContext(javax.servlet.jsp.PageContext)
public void setValue(java.lang.String k, java.lang.Object o)
k
- The key String.o
- The value to associate.public java.lang.Object getValue(java.lang.String k)
k
- The string key.public void removeValue(java.lang.String k)
k
- The string key.public java.util.Enumeration<java.lang.String> getValues()