<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<title>TagSupport</title>
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
    try {
        if (location.href.indexOf('is-external=true') == -1) {
            parent.document.title="TagSupport";
        }
    }
    catch(err) {
    }
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":9,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../javax/servlet/jsp/tagext/TagLibraryValidator.html" title="class in javax.servlet.jsp.tagext"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../javax/servlet/jsp/tagext/TagVariableInfo.html" title="class in javax.servlet.jsp.tagext"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?javax/servlet/jsp/tagext/TagSupport.html" target="_top">Frames</a></li>
<li><a href="TagSupport.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">javax.servlet.jsp.tagext</div>
<h2 title="Class TagSupport" class="title">Class TagSupport</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>javax.servlet.jsp.tagext.TagSupport</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd>java.io.Serializable, <a href="../../../../javax/servlet/jsp/tagext/IterationTag.html" title="interface in javax.servlet.jsp.tagext">IterationTag</a>, <a href="../../../../javax/servlet/jsp/tagext/JspTag.html" title="interface in javax.servlet.jsp.tagext">JspTag</a>, <a href="../../../../javax/servlet/jsp/tagext/Tag.html" title="interface in javax.servlet.jsp.tagext">Tag</a></dd>
</dl>
<dl>
<dt>Direct Known Subclasses:</dt>
<dd><a href="../../../../javax/servlet/jsp/tagext/BodyTagSupport.html" title="class in javax.servlet.jsp.tagext">BodyTagSupport</a>, <a href="../../../../org/apache/taglibs/standard/tag/common/core/CatchTag.html" title="class in org.apache.taglibs.standard.tag.common.core">CatchTag</a>, <a href="../../../../org/apache/taglibs/standard/tag/common/core/ChooseTag.html" title="class in org.apache.taglibs.standard.tag.common.core">ChooseTag</a>, <a href="../../../../javax/servlet/jsp/jstl/core/ConditionalTagSupport.html" title="class in javax.servlet.jsp.jstl.core">ConditionalTagSupport</a>, <a href="../../../../org/apache/taglibs/standard/tag/common/sql/DateParamTagSupport.html" title="class in org.apache.taglibs.standard.tag.common.sql">DateParamTagSupport</a>, <a href="../../../../org/apache/taglibs/standard/tag/common/core/DeclareTag.html" title="class in org.apache.taglibs.standard.tag.common.core">DeclareTag</a>, <a href="../../../../org/apache/taglibs/standard/tag/common/sql/DriverTag.html" title="class in org.apache.taglibs.standard.tag.common.sql">DriverTag</a>, <a href="../../../../org/apache/taglibs/standard/tag/common/xml/ExprSupport.html" title="class in org.apache.taglibs.standard.tag.common.xml">ExprSupport</a>, <a href="../../../../org/apache/taglibs/standard/tag/common/fmt/FormatDateSupport.html" title="class in org.apache.taglibs.standard.tag.common.fmt">FormatDateSupport</a>, <a href="../../../../javax/servlet/jsp/jstl/core/LoopTagSupport.html" title="class in javax.servlet.jsp.jstl.core">LoopTagSupport</a>, <a href="../../../../org/apache/taglibs/standard/tag/common/core/RemoveTag.html" title="class in org.apache.taglibs.standard.tag.common.core">RemoveTag</a>, <a href="../../../../org/apache/taglibs/standard/tag/common/fmt/RequestEncodingSupport.html" title="class in org.apache.taglibs.standard.tag.common.fmt">RequestEncodingSupport</a>, <a href="../../../../org/apache/taglibs/standard/tag/common/fmt/SetBundleSupport.html" title="class in org.apache.taglibs.standard.tag.common.fmt">SetBundleSupport</a>, <a href="../../../../org/apache/taglibs/standard/tag/common/sql/SetDataSourceTagSupport.html" title="class in org.apache.taglibs.standard.tag.common.sql">SetDataSourceTagSupport</a>, <a href="../../../../org/apache/taglibs/standard/tag/common/fmt/SetLocaleSupport.html" title="class in org.apache.taglibs.standard.tag.common.fmt">SetLocaleSupport</a>, <a href="../../../../org/apache/taglibs/standard/tag/common/xml/SetTag.html" title="class in org.apache.taglibs.standard.tag.common.xml">SetTag</a>, <a href="../../../../org/apache/taglibs/standard/tag/common/fmt/SetTimeZoneSupport.html" title="class in org.apache.taglibs.standard.tag.common.fmt">SetTimeZoneSupport</a>, <a href="../../../../org/apache/taglibs/standard/extra/spath/SPathTag.html" title="class in org.apache.taglibs.standard.extra.spath">SPathTag</a>, <a href="../../../../org/apache/taglibs/standard/tag/common/sql/TransactionTagSupport.html" title="class in org.apache.taglibs.standard.tag.common.sql">TransactionTagSupport</a></dd>
</dl>
<hr>
<br>
<pre>public class <span class="typeNameLabel">TagSupport</span>
extends java.lang.Object
implements <a href="../../../../javax/servlet/jsp/tagext/IterationTag.html" title="interface in javax.servlet.jsp.tagext">IterationTag</a>, java.io.Serializable</pre>
<div class="block">A base class for defining new tag handlers implementing Tag.

 <p>
 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.

 <p>
 Many tag handlers will extend TagSupport and only redefine a few methods.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../serialized-form.html#javax.servlet.jsp.tagext.TagSupport">Serialized Form</a></dd>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!--   -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/servlet/jsp/tagext/TagSupport.html#id">id</a></span></code>
<div class="block">The value of the id attribute of this tag; or null.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="../../../../javax/servlet/jsp/PageContext.html" title="class in javax.servlet.jsp">PageContext</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/servlet/jsp/tagext/TagSupport.html#pageContext">pageContext</a></span></code>
<div class="block">The PageContext.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.javax.servlet.jsp.tagext.IterationTag">
<!--   -->
</a>
<h3>Fields inherited from interface&nbsp;javax.servlet.jsp.tagext.<a href="../../../../javax/servlet/jsp/tagext/IterationTag.html" title="interface in javax.servlet.jsp.tagext">IterationTag</a></h3>
<code><a href="../../../../javax/servlet/jsp/tagext/IterationTag.html#EVAL_BODY_AGAIN">EVAL_BODY_AGAIN</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.javax.servlet.jsp.tagext.Tag">
<!--   -->
</a>
<h3>Fields inherited from interface&nbsp;javax.servlet.jsp.tagext.<a href="../../../../javax/servlet/jsp/tagext/Tag.html" title="interface in javax.servlet.jsp.tagext">Tag</a></h3>
<code><a href="../../../../javax/servlet/jsp/tagext/Tag.html#EVAL_BODY_INCLUDE">EVAL_BODY_INCLUDE</a>, <a href="../../../../javax/servlet/jsp/tagext/Tag.html#EVAL_PAGE">EVAL_PAGE</a>, <a href="../../../../javax/servlet/jsp/tagext/Tag.html#SKIP_BODY">SKIP_BODY</a>, <a href="../../../../javax/servlet/jsp/tagext/Tag.html#SKIP_PAGE">SKIP_PAGE</a></code></li>
</ul>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!--   -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../javax/servlet/jsp/tagext/TagSupport.html#TagSupport--">TagSupport</a></span>()</code>
<div class="block">Default constructor, all subclasses are required to define only a public constructor with the same signature, and
 to call the superclass constructor.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/servlet/jsp/tagext/TagSupport.html#doAfterBody--">doAfterBody</a></span>()</code>
<div class="block">Default processing for a body.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/servlet/jsp/tagext/TagSupport.html#doEndTag--">doEndTag</a></span>()</code>
<div class="block">Default processing of the end tag returning EVAL_PAGE.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/servlet/jsp/tagext/TagSupport.html#doStartTag--">doStartTag</a></span>()</code>
<div class="block">Default processing of the start tag, returning SKIP_BODY.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>static <a href="../../../../javax/servlet/jsp/tagext/Tag.html" title="interface in javax.servlet.jsp.tagext">Tag</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/servlet/jsp/tagext/TagSupport.html#findAncestorWithClass-javax.servlet.jsp.tagext.Tag-java.lang.Class-">findAncestorWithClass</a></span>(<a href="../../../../javax/servlet/jsp/tagext/Tag.html" title="interface in javax.servlet.jsp.tagext">Tag</a>&nbsp;from,
                     java.lang.Class&nbsp;klass)</code>
<div class="block">Find the instance of a given class type that is closest to a given instance.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/servlet/jsp/tagext/TagSupport.html#getId--">getId</a></span>()</code>
<div class="block">The value of the id attribute of this tag; or null.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code><a href="../../../../javax/servlet/jsp/tagext/Tag.html" title="interface in javax.servlet.jsp.tagext">Tag</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/servlet/jsp/tagext/TagSupport.html#getParent--">getParent</a></span>()</code>
<div class="block">The Tag instance most closely enclosing this tag instance.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>java.lang.Object</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/servlet/jsp/tagext/TagSupport.html#getValue-java.lang.String-">getValue</a></span>(java.lang.String&nbsp;k)</code>
<div class="block">Get a the value associated with a key.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>java.util.Enumeration&lt;java.lang.String&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/servlet/jsp/tagext/TagSupport.html#getValues--">getValues</a></span>()</code>
<div class="block">Enumerate the keys for the values kept by this tag handler.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/servlet/jsp/tagext/TagSupport.html#release--">release</a></span>()</code>
<div class="block">Release state.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/servlet/jsp/tagext/TagSupport.html#removeValue-java.lang.String-">removeValue</a></span>(java.lang.String&nbsp;k)</code>
<div class="block">Remove a value associated with a key.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/servlet/jsp/tagext/TagSupport.html#setId-java.lang.String-">setId</a></span>(java.lang.String&nbsp;id)</code>
<div class="block">Set the id attribute for this tag.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/servlet/jsp/tagext/TagSupport.html#setPageContext-javax.servlet.jsp.PageContext-">setPageContext</a></span>(<a href="../../../../javax/servlet/jsp/PageContext.html" title="class in javax.servlet.jsp">PageContext</a>&nbsp;pageContext)</code>
<div class="block">Set the page context.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/servlet/jsp/tagext/TagSupport.html#setParent-javax.servlet.jsp.tagext.Tag-">setParent</a></span>(<a href="../../../../javax/servlet/jsp/tagext/Tag.html" title="interface in javax.servlet.jsp.tagext">Tag</a>&nbsp;t)</code>
<div class="block">Set the nesting tag of this tag.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/servlet/jsp/tagext/TagSupport.html#setValue-java.lang.String-java.lang.Object-">setValue</a></span>(java.lang.String&nbsp;k,
        java.lang.Object&nbsp;o)</code>
<div class="block">Associate a value with a String key.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.detail">
<!--   -->
</a>
<h3>Field Detail</h3>
<a name="id">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>id</h4>
<pre>protected&nbsp;java.lang.String id</pre>
<div class="block">The value of the id attribute of this tag; or null.</div>
</li>
</ul>
<a name="pageContext">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>pageContext</h4>
<pre>protected&nbsp;<a href="../../../../javax/servlet/jsp/PageContext.html" title="class in javax.servlet.jsp">PageContext</a> pageContext</pre>
<div class="block">The PageContext.</div>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!--   -->
</a>
<h3>Constructor Detail</h3>
<a name="TagSupport--">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>TagSupport</h4>
<pre>public&nbsp;TagSupport()</pre>
<div class="block">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.</div>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="findAncestorWithClass-javax.servlet.jsp.tagext.Tag-java.lang.Class-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>findAncestorWithClass</h4>
<pre>public static final&nbsp;<a href="../../../../javax/servlet/jsp/tagext/Tag.html" title="interface in javax.servlet.jsp.tagext">Tag</a>&nbsp;findAncestorWithClass(<a href="../../../../javax/servlet/jsp/tagext/Tag.html" title="interface in javax.servlet.jsp.tagext">Tag</a>&nbsp;from,
                                              java.lang.Class&nbsp;klass)</pre>
<div class="block">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.

 <p>
 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.

 <p>
 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.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>from</code> - The instance from where to start looking.</dd>
<dd><code>klass</code> - The subclass of Tag or interface to be matched</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the nearest ancestor that implements the interface or is an instance of the class specified</dd>
</dl>
</li>
</ul>
<a name="doStartTag--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>doStartTag</h4>
<pre>public&nbsp;int&nbsp;doStartTag()
               throws <a href="../../../../javax/servlet/jsp/JspException.html" title="class in javax.servlet.jsp">JspException</a></pre>
<div class="block">Default processing of the start tag, returning SKIP_BODY.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../javax/servlet/jsp/tagext/Tag.html#doStartTag--">doStartTag</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../javax/servlet/jsp/tagext/Tag.html" title="interface in javax.servlet.jsp.tagext">Tag</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>SKIP_BODY</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../javax/servlet/jsp/JspException.html" title="class in javax.servlet.jsp">JspException</a></code> - if an error occurs while processing this tag</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../javax/servlet/jsp/tagext/Tag.html#doStartTag--"><code>Tag.doStartTag()</code></a></dd>
</dl>
</li>
</ul>
<a name="doEndTag--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>doEndTag</h4>
<pre>public&nbsp;int&nbsp;doEndTag()
             throws <a href="../../../../javax/servlet/jsp/JspException.html" title="class in javax.servlet.jsp">JspException</a></pre>
<div class="block">Default processing of the end tag returning EVAL_PAGE.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../javax/servlet/jsp/tagext/Tag.html#doEndTag--">doEndTag</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../javax/servlet/jsp/tagext/Tag.html" title="interface in javax.servlet.jsp.tagext">Tag</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>EVAL_PAGE</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../javax/servlet/jsp/JspException.html" title="class in javax.servlet.jsp">JspException</a></code> - if an error occurs while processing this tag</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../javax/servlet/jsp/tagext/Tag.html#doEndTag--"><code>Tag.doEndTag()</code></a></dd>
</dl>
</li>
</ul>
<a name="doAfterBody--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>doAfterBody</h4>
<pre>public&nbsp;int&nbsp;doAfterBody()
                throws <a href="../../../../javax/servlet/jsp/JspException.html" title="class in javax.servlet.jsp">JspException</a></pre>
<div class="block">Default processing for a body.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../javax/servlet/jsp/tagext/IterationTag.html#doAfterBody--">doAfterBody</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../javax/servlet/jsp/tagext/IterationTag.html" title="interface in javax.servlet.jsp.tagext">IterationTag</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>SKIP_BODY</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../javax/servlet/jsp/JspException.html" title="class in javax.servlet.jsp">JspException</a></code> - if an error occurs while processing this tag</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../javax/servlet/jsp/tagext/IterationTag.html#doAfterBody--"><code>IterationTag.doAfterBody()</code></a></dd>
</dl>
</li>
</ul>
<a name="release--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>release</h4>
<pre>public&nbsp;void&nbsp;release()</pre>
<div class="block">Release state.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../javax/servlet/jsp/tagext/Tag.html#release--">release</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../javax/servlet/jsp/tagext/Tag.html" title="interface in javax.servlet.jsp.tagext">Tag</a></code></dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../javax/servlet/jsp/tagext/Tag.html#release--"><code>Tag.release()</code></a></dd>
</dl>
</li>
</ul>
<a name="setParent-javax.servlet.jsp.tagext.Tag-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setParent</h4>
<pre>public&nbsp;void&nbsp;setParent(<a href="../../../../javax/servlet/jsp/tagext/Tag.html" title="interface in javax.servlet.jsp.tagext">Tag</a>&nbsp;t)</pre>
<div class="block">Set the nesting tag of this tag.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../javax/servlet/jsp/tagext/Tag.html#setParent-javax.servlet.jsp.tagext.Tag-">setParent</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../javax/servlet/jsp/tagext/Tag.html" title="interface in javax.servlet.jsp.tagext">Tag</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>t</code> - The parent Tag.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../javax/servlet/jsp/tagext/Tag.html#setParent-javax.servlet.jsp.tagext.Tag-"><code>Tag.setParent(Tag)</code></a></dd>
</dl>
</li>
</ul>
<a name="getParent--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getParent</h4>
<pre>public&nbsp;<a href="../../../../javax/servlet/jsp/tagext/Tag.html" title="interface in javax.servlet.jsp.tagext">Tag</a>&nbsp;getParent()</pre>
<div class="block">The Tag instance most closely enclosing this tag instance.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../javax/servlet/jsp/tagext/Tag.html#getParent--">getParent</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../javax/servlet/jsp/tagext/Tag.html" title="interface in javax.servlet.jsp.tagext">Tag</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the parent tag instance or null</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../javax/servlet/jsp/tagext/Tag.html#getParent--"><code>Tag.getParent()</code></a></dd>
</dl>
</li>
</ul>
<a name="setId-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setId</h4>
<pre>public&nbsp;void&nbsp;setId(java.lang.String&nbsp;id)</pre>
<div class="block">Set the id attribute for this tag.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>id</code> - The String for the id.</dd>
</dl>
</li>
</ul>
<a name="getId--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getId</h4>
<pre>public&nbsp;java.lang.String&nbsp;getId()</pre>
<div class="block">The value of the id attribute of this tag; or null.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the value of the id attribute, or null</dd>
</dl>
</li>
</ul>
<a name="setPageContext-javax.servlet.jsp.PageContext-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setPageContext</h4>
<pre>public&nbsp;void&nbsp;setPageContext(<a href="../../../../javax/servlet/jsp/PageContext.html" title="class in javax.servlet.jsp">PageContext</a>&nbsp;pageContext)</pre>
<div class="block">Set the page context.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../javax/servlet/jsp/tagext/Tag.html#setPageContext-javax.servlet.jsp.PageContext-">setPageContext</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../javax/servlet/jsp/tagext/Tag.html" title="interface in javax.servlet.jsp.tagext">Tag</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>pageContext</code> - The PageContext.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../javax/servlet/jsp/tagext/Tag.html#setPageContext-javax.servlet.jsp.PageContext-"><code>Tag.setPageContext(javax.servlet.jsp.PageContext)</code></a></dd>
</dl>
</li>
</ul>
<a name="setValue-java.lang.String-java.lang.Object-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setValue</h4>
<pre>public&nbsp;void&nbsp;setValue(java.lang.String&nbsp;k,
                     java.lang.Object&nbsp;o)</pre>
<div class="block">Associate a value with a String key.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>k</code> - The key String.</dd>
<dd><code>o</code> - The value to associate.</dd>
</dl>
</li>
</ul>
<a name="getValue-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getValue</h4>
<pre>public&nbsp;java.lang.Object&nbsp;getValue(java.lang.String&nbsp;k)</pre>
<div class="block">Get a the value associated with a key.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>k</code> - The string key.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The value associated with the key, or null.</dd>
</dl>
</li>
</ul>
<a name="removeValue-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>removeValue</h4>
<pre>public&nbsp;void&nbsp;removeValue(java.lang.String&nbsp;k)</pre>
<div class="block">Remove a value associated with a key.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>k</code> - The string key.</dd>
</dl>
</li>
</ul>
<a name="getValues--">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>getValues</h4>
<pre>public&nbsp;java.util.Enumeration&lt;java.lang.String&gt;&nbsp;getValues()</pre>
<div class="block">Enumerate the keys for the values kept by this tag handler.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>An enumeration of all the keys for the values set, or null or an empty Enumeration if no values have been
         set.</dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../javax/servlet/jsp/tagext/TagLibraryValidator.html" title="class in javax.servlet.jsp.tagext"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../javax/servlet/jsp/tagext/TagVariableInfo.html" title="class in javax.servlet.jsp.tagext"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?javax/servlet/jsp/tagext/TagSupport.html" target="_top">Frames</a></li>
<li><a href="TagSupport.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>
