<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<title>javax.servlet.jsp.tagext</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="javax.servlet.jsp.tagext";
        }
    }
    catch(err) {
    }
//-->
</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 class="navBarCell1Rev">Package</li>
<li>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/jstl/tlv/package-summary.html">Prev&nbsp;Package</a></li>
<li><a href="../../../../javax/transaction/package-summary.html">Next&nbsp;Package</a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?javax/servlet/jsp/tagext/package-summary.html" target="_top">Frames</a></li>
<li><a href="package-summary.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>
<a name="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="header">
<h1 title="Package" class="title">Package&nbsp;javax.servlet.jsp.tagext</h1>
</div>
<div class="contentContainer">
<ul class="blockList">
<li class="blockList">
<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Interface Summary table, listing interfaces, and an explanation">
<caption><span>Interface Summary</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Interface</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><a href="../../../../javax/servlet/jsp/tagext/BodyTag.html" title="interface in javax.servlet.jsp.tagext">BodyTag</a></td>
<td class="colLast">
<div class="block">The BodyTag interface extends IterationTag by defining additional methods that let a tag handler manipulate the
 content of evaluating its body.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../javax/servlet/jsp/tagext/DynamicAttributes.html" title="interface in javax.servlet.jsp.tagext">DynamicAttributes</a></td>
<td class="colLast">
<div class="block">For a tag to declare that it accepts dynamic attributes, it must implement this interface.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../javax/servlet/jsp/tagext/IterationTag.html" title="interface in javax.servlet.jsp.tagext">IterationTag</a></td>
<td class="colLast">
<div class="block">The IterationTag interface extends Tag by defining one additional method that controls the reevaluation of its body.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../javax/servlet/jsp/tagext/JspIdConsumer.html" title="interface in javax.servlet.jsp.tagext">JspIdConsumer</a></td>
<td class="colLast">
<div class="block">
 This interface indicates to the container that a tag handler wishes to be provided with a compiler generated ID.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../javax/servlet/jsp/tagext/JspTag.html" title="interface in javax.servlet.jsp.tagext">JspTag</a></td>
<td class="colLast">
<div class="block">Serves as a base class for Tag and SimpleTag.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../javax/servlet/jsp/tagext/SimpleTag.html" title="interface in javax.servlet.jsp.tagext">SimpleTag</a></td>
<td class="colLast">
<div class="block">Interface for defining Simple Tag Handlers.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../javax/servlet/jsp/tagext/Tag.html" title="interface in javax.servlet.jsp.tagext">Tag</a></td>
<td class="colLast">
<div class="block">The interface of a classic tag handler that does not want to manipulate its body.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../javax/servlet/jsp/tagext/TryCatchFinally.html" title="interface in javax.servlet.jsp.tagext">TryCatchFinally</a></td>
<td class="colLast">
<div class="block">The auxiliary interface of a Tag, IterationTag or BodyTag tag handler that wants additional hooks for managing
 resources.</div>
</td>
</tr>
</tbody>
</table>
</li>
<li class="blockList">
<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Class</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><a href="../../../../javax/servlet/jsp/tagext/BodyContent.html" title="class in javax.servlet.jsp.tagext">BodyContent</a></td>
<td class="colLast">
<div class="block">An encapsulation of the evaluation of the body of an action so it is available to a tag handler.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../javax/servlet/jsp/tagext/BodyTagSupport.html" title="class in javax.servlet.jsp.tagext">BodyTagSupport</a></td>
<td class="colLast">
<div class="block">A base class for defining tag handlers implementing BodyTag.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../javax/servlet/jsp/tagext/FunctionInfo.html" title="class in javax.servlet.jsp.tagext">FunctionInfo</a></td>
<td class="colLast">
<div class="block">Information for a function in a Tag Library.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../javax/servlet/jsp/tagext/JspFragment.html" title="class in javax.servlet.jsp.tagext">JspFragment</a></td>
<td class="colLast">
<div class="block">Encapsulates a portion of JSP code in an object that can be invoked as many times as needed.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../javax/servlet/jsp/tagext/PageData.html" title="class in javax.servlet.jsp.tagext">PageData</a></td>
<td class="colLast">
<div class="block">Translation-time information on a JSP page.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../javax/servlet/jsp/tagext/SimpleTagSupport.html" title="class in javax.servlet.jsp.tagext">SimpleTagSupport</a></td>
<td class="colLast">
<div class="block">A base class for defining tag handlers implementing SimpleTag.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../javax/servlet/jsp/tagext/TagAdapter.html" title="class in javax.servlet.jsp.tagext">TagAdapter</a></td>
<td class="colLast">
<div class="block">Wraps any SimpleTag and exposes it using a Tag interface.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../javax/servlet/jsp/tagext/TagAttributeInfo.html" title="class in javax.servlet.jsp.tagext">TagAttributeInfo</a></td>
<td class="colLast">
<div class="block">Information on the attributes of a Tag, available at translation time.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../javax/servlet/jsp/tagext/TagData.html" title="class in javax.servlet.jsp.tagext">TagData</a></td>
<td class="colLast">
<div class="block">The (translation-time only) attribute/value information for a tag instance.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../javax/servlet/jsp/tagext/TagExtraInfo.html" title="class in javax.servlet.jsp.tagext">TagExtraInfo</a></td>
<td class="colLast">
<div class="block">Optional class provided by the tag library author to describe additional translation-time information not described
 in the TLD.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../javax/servlet/jsp/tagext/TagFileInfo.html" title="class in javax.servlet.jsp.tagext">TagFileInfo</a></td>
<td class="colLast">
<div class="block">Tag information for a tag file in a Tag Library; This class is instantiated from the Tag Library Descriptor file
 (TLD) and is available only at translation time.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../javax/servlet/jsp/tagext/TagInfo.html" title="class in javax.servlet.jsp.tagext">TagInfo</a></td>
<td class="colLast">
<div class="block">Tag information for a tag in a Tag Library; This class is instantiated from the Tag Library Descriptor file (TLD) and
 is available only at translation time.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../javax/servlet/jsp/tagext/TagLibraryInfo.html" title="class in javax.servlet.jsp.tagext">TagLibraryInfo</a></td>
<td class="colLast">
<div class="block">Translation-time information associated with a taglib directive, and its underlying TLD file.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../javax/servlet/jsp/tagext/TagLibraryValidator.html" title="class in javax.servlet.jsp.tagext">TagLibraryValidator</a></td>
<td class="colLast">
<div class="block">Translation-time validator class for a JSP page.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../javax/servlet/jsp/tagext/TagSupport.html" title="class in javax.servlet.jsp.tagext">TagSupport</a></td>
<td class="colLast">
<div class="block">A base class for defining new tag handlers implementing Tag.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../javax/servlet/jsp/tagext/TagVariableInfo.html" title="class in javax.servlet.jsp.tagext">TagVariableInfo</a></td>
<td class="colLast">
<div class="block">Variable information for a tag in a Tag Library; This class is instantiated from the Tag Library Descriptor file
 (TLD) and is available only at translation time.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../javax/servlet/jsp/tagext/ValidationMessage.html" title="class in javax.servlet.jsp.tagext">ValidationMessage</a></td>
<td class="colLast">
<div class="block">A validation message from either TagLibraryValidator or TagExtraInfo.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../javax/servlet/jsp/tagext/VariableInfo.html" title="class in javax.servlet.jsp.tagext">VariableInfo</a></td>
<td class="colLast">
<div class="block">Information on the scripting variables that are created/modified by a tag (at run-time).</div>
</td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<!-- ======= 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 class="navBarCell1Rev">Package</li>
<li>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/jstl/tlv/package-summary.html">Prev&nbsp;Package</a></li>
<li><a href="../../../../javax/transaction/package-summary.html">Next&nbsp;Package</a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?javax/servlet/jsp/tagext/package-summary.html" target="_top">Frames</a></li>
<li><a href="package-summary.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>
<a name="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>
