📄 jsptags6.html
字号:
<?xml version="1.0" encoding="ISO-8859-1"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /> <meta http-equiv="Content-Style-Type" content="text/css" /> <title>Tag Library Descriptors</title> <link rel="StyleSheet" href="document.css" type="text/css" media="all" /> <link rel="StyleSheet" href="catalog.css" type="text/css" media="all" /> <link rel="Table of Contents" href="J2EETutorialTOC.html" /> <link rel="Previous" href="JSPTags5.html" /> <link rel="Next" href="JSPTags7.html" /> <link rel="Index" href="J2EETutorialIX.html" /> </head> <body> <table width="550" summary="layout" id="SummaryNotReq1"> <tr> <td align="left" valign="center"> <font size="-1"> <a href="http://java.sun.com/j2ee/1.4/download.html#tutorial" target="_blank">Download</a> <br> <a href="http://java.sun.com/j2ee/1.4/docs/tutorial/information/faq.html" target="_blank">FAQ</a> <br> <a href="http://java.sun.com/j2ee/1.4/docs/tutorial/information/history.html" target="_blank">History</a> </td> <td align="center" valign="center"><a accesskey="p" href="JSPTags5.html"><img id="LongDescNotReq1" src="images/PrevArrow.gif" width="26" height="26" border="0" alt="Prev" /></a><a accesskey="c" href="J2EETutorialFront.html"><img id="LongDescNotReq1" src="images/UpArrow.gif" width="26" height="26" border="0" alt="Home" /></a><a accesskey="n" href="JSPTags7.html"><img id="LongDescNotReq3" src="images/NextArrow.gif" width="26" height="26" border="0" alt="Next" /></a><a accesskey="i" href="J2EETutorialIX.html"></a> </td> <td align="right" valign="center"> <font size="-1"> <a href="http://java.sun.com/j2ee/1.4/docs/api/index.html" target="_blank">API</a> <br> <a href="http://java.sun.com/j2ee/1.4/docs/tutorial/information/search.html" target="_blank">Search</a> <br> <a href="http://java.sun.com/j2ee/1.4/docs/tutorial/information/sendusmail.html" target="_blank">Feedback</a></font> </font> </td> </tr> </table> <img src="images/blueline.gif" width="550" height="8" ALIGN="BOTTOM" NATURALSIZEFLAG="3" ALT="Divider"> <blockquote><a name="wp90086"> </a><h2 class="pHeading1">Tag Library Descriptors</h2><a name="wp90087"> </a><p class="pBody">If you want to redistribute your tag files or implement your custom tags with tag handlers written in Java, you need to declare the tags in a tag library descriptor (TLD). A <em class="cEmphasis">tag library descriptor</em> (TLD) is an XML document that contains information about a library as a whole and about each tag contained in the library. TLDs are used by a Web container to validate the tags and by JSP page development tools. </p><a name="wp90089"> </a><p class="pBody">Tag library descriptor file names must have the extension <code class="cCode">.tld</code> and must be packaged in the <code class="cCode">/WEB-INF/</code> directory or subdirectory of the WAR file or in the <code class="cCode">/META-INF/</code> directory or subdirectory of a tag library packaged in a JAR. If a tag is implemented as a tag file and is packaged in <code class="cCode">/WEB-INF/tags/</code>or a subdirectory, a TLD will be automatically generated by the Web container, though you can provide one if you wish. </p><a name="wp90091"> </a><p class="pBody">A TLD must begin with a root <code class="cCode">taglib</code> element that specifies the schema and required JSP version:</p><div class="pPreformattedRelative"><pre class="pPreformattedRelative"><taglib xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd" version="2.0"> <a name="wp90092"> </a></pre></div><a name="wp90169"> </a><p class="pBody"><a href="JSPTags6.html#wp90103">Table 15-6</a> lists the subelements of the <code class="cCode">taglib</code> element:</p><div align="left"><table border="1" summary="taglib Subelements" id="wp90103"> <caption><a name="wp90103"> </a><div class="pTableTitle">Table 15-6 taglib Subelements </div></caption> <tr align="center"> <th><a name="wp90107"> </a><div class="pCellHeading">Element</div></th> <th><a name="wp90109"> </a><div class="pCellHeading">Description</div></th></tr> <tr align="left"> <td><a name="wp90111"> </a><div class="pCellBody">description</div></td> <td><a name="wp90113"> </a><div class="pCellBody">(optional) A string describing the use of the tag library.</div></td></tr> <tr align="left"> <td><a name="wp90115"> </a><div class="pCellBody"><code class="cCode">display-name</code></div></td> <td><a name="wp90117"> </a><div class="pCellBody">(optional) Name intended to be displayed by tools.</div></td></tr> <tr align="left"> <td><a name="wp90119"> </a><div class="pCellBody"><code class="cCode">icon</code></div></td> <td><a name="wp90121"> </a><div class="pCellBody">(optional) Icon that can be used by tools.</div></td></tr> <tr align="left"> <td><a name="wp90123"> </a><div class="pCellBody"><code class="cCode">tlib-version</code></div></td> <td><a name="wp90125"> </a><div class="pCellBody">The tag library's version.</div></td></tr> <tr align="left"> <td><a name="wp90127"> </a><div class="pCellBody"><code class="cCode">short-name</code></div></td> <td><a name="wp90129"> </a><div class="pCellBody">(optional) Name that could be used by a JSP page authoring tool to create names with a mnemonic value.</div></td></tr> <tr align="left"> <td><a name="wp90131"> </a><div class="pCellBody"><code class="cCode">uri</code></div></td> <td><a name="wp90133"> </a><div class="pCellBody">A URI that uniquely identifies the tag library.</div></td></tr> <tr align="left"> <td><a name="wp90135"> </a><div class="pCellBody">validator</div></td> <td><a name="wp90140"> </a><div class="pCellBody">See <a href="JSPTags6.html#wp90172">validator Element </a>.</div></td></tr> <tr align="left"> <td><a name="wp90142"> </a><div class="pCellBody"><code class="cCode">listener</code></div></td> <td><a name="wp90147"> </a><div class="pCellBody">See <a href="JSPTags6.html#wp90200">listener Element </a>.</div></td></tr> <tr align="left"> <td><a name="wp90149"> </a><div class="pCellBody"><code class="cCode">tag-file | tag</code></div></td> <td><a name="wp90153"> </a><div class="pCellBody">Declares the tag files or tags defined in the tag library. See <a href="JSPTags6.html#wp90207">Declaring Tag Files </a> and <a href="JSPTags6.html#wp90277">Declaring Tag Handlers</a>. A tag library is considered invalid if a <code class="cCode">tag-file</code> element has a <code class="cCode">name</code> subelement with the same content as a <code class="cCode">name</code> subelement in a <code class="cCode">tag</code> element.</div></td></tr> <tr align="left"> <td><a name="wp90159"> </a><div class="pCellBody">function</div></td> <td><a name="wp90164"> </a><div class="pCellBody">Zero or more EL functions (see <a href="JSPIntro7.html#wp77078">Functions</a>) defined in the tag library.</div></td></tr> <tr align="left"> <td><a name="wp90166"> </a><div class="pCellBody">tag-extension</div></td> <td><a name="wp90168"> </a><div class="pCellBody">(optional) Extensions that provide extra information about the tag library for tools.</div></td></tr></table></div><p class="pBody"></p><a name="wp90170"> </a><p class="pBody">This section describes the top-level elements of TLDs. Subsequent sections describe how to declare tags defined in tag files, how to declare tags defined in tag handlers, and how to declare tag attributes and variables.</p><a name="wp90172"> </a><h4 class="pHeading3">validator Element</h4><a name="wp90173"> </a><p class="pBody">This element defines an optional tag library validator that can be used to validate the conformance of any JSP page importing this tag library to its requirements. <a href="JSPTags6.html#wp90184">Table 15-7</a> lists the subelements of the <code class="cCode">validator</code> element:</p><div align="left"><table border="1" summary="validator Subelements" id="wp90184"> <caption><a name="wp90184"> </a><div class="pTableTitle">Table 15-7 validator Subelements </div></caption> <tr align="center"> <th><a name="wp90188"> </a><div class="pCellHeading">Element</div></th> <th><a name="wp90190"> </a><div class="pCellHeading">Description</div></th></tr> <tr align="left"> <td><a name="wp90192"> </a><div class="pCellBody"><code class="cCode">validator-class</code></div></td> <td><a name="wp90194"> </a><div class="pCellBody">The class implementing <br /><code class="cCode">javax.servlet.jsp.tagext.TagLibraryValidator</code></div></td></tr> <tr align="left"> <td><a name="wp90196"> </a><div class="pCellBody"><code class="cCode">init-param</code></div></td> <td><a name="wp90198"> </a><div class="pCellBody">(optional) Initialization parameters.</div></td></tr></table></div><p class="pBody"></p><a name="wp90200"> </a><h4 class="pHeading3">listener Element</h4><a name="wp90203"> </a><p class="pBody">A tag library can specify some classes that are event listeners (see <a href="Servlets4.html#wp64218">Handling Servlet Life Cycle Events</a>). The listeners are listed in the TLD as <code class="cCode">listener</code> elements, and the Web container will instantiate the listener classes and register them in a way analogous to listeners defined at the WAR level. Unlike WAR-level listeners, the order in which the tag library listeners are registered is undefined. The only subelement of the <code class="cCode">listener</code> element is the <code class="cCode">listener-class</code> element, which must contain the fully qualified name of the listener class.</p><a name="wp90207"> </a><h3 class="pHeading2">Declaring Tag Files</h3><a name="wp90208"> </a><p class="pBody">Although not required for tag files, providing a TLD allows you to share the tag across more than one tag library and lets you import the tag library using a URI instead of the <code class="cCode">tagdir</code> attribute.</p><a name="wp90210"> </a><h4 class="pHeading3">tag-file TLD Element</h4><a name="wp90211"> </a><p class="pBody">A tag file is declared in the TLD with a <code class="cCode">tag-file</code> element, whose subelements are listed in <a href="JSPTags6.html#wp90222">Table 15-8</a>:</p><div align="left"><table border="1" summary="tag-file Subelements" id="wp90222"> <caption><a name="wp90222"> </a><div class="pTableTitle">Table 15-8 tag-file Subelements </div></caption> <tr align="center"> <th><a name="wp90226"> </a><div class="pCellHeading">Element</div></th> <th><a name="wp90228"> </a><div class="pCellHeading">Description</div></th></tr> <tr align="left"> <td><a name="wp90230"> </a><div class="pCellBody"><code class="cCode">description</code></div></td> <td><a name="wp90232"> </a><div class="pCellBody">(optional) A description of the tag.</div></td></tr> <tr align="left"> <td><a name="wp90234"> </a><div class="pCellBody"><code class="cCode">display-name</code></div></td> <td><a name="wp90236"> </a><div class="pCellBody">(optional) Name intended to be displayed by tools.</div></td></tr> <tr align="left"> <td><a name="wp90238"> </a><div class="pCellBody"><code class="cCode">icon</code></div></td> <td><a name="wp90240"> </a><div class="pCellBody">(optional) Icon that can be used by tools.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -