Professional Java Server Programming J2EE Edition Chapter 12
<taglib-location>
/WEB-INF/tlds/hello.tld
</taglib-location>
</taglib>
</web-app>
The <taglib> element contains two subelements: <taglib-uri> specifies the URI that should be used in
JSPs wishing to use the tag library; <taglib-location> specifies the path to the tag library descriptor
relative to the web.xml file. Note that this path need not be publicly available to users of the web server: the
server will not publish anything that is in the WEB-INF directory.
Remember the important directories in the WAR:
- WEB-INF:
This contains the web.xml file, in which the TLD URI-location mapping must be specified.
-
WEB-INF/classes:
This contains Java classes required to implement tag libraries or otherwise support the
functionality of the web application.
-
WEB-INF/lib:
This contains JAR files containing additional classes required to support the functionality of
the web application.
-
WEB-INF/tlds:
By convention (although not mandated in any specification) this contains the tag library
descriptors (but not tag handler classes) that will be made available to JSPs in the web.xml
file. The TLDs could actually be placed anywhere in the WAR (so long as a mapping is
included in the web.xml file), but adhering to this convention makes it easier to comprehend
the WAR's structure.
Tag Library JAR
In a third approach to packaging and deployment, a tag library may be distributed in a JAR file whose
META-INF subdirectory contains the tag library descriptor. The JAR file should also contain the classes
required to implement the tags defined in the tag library, but not the JSPs that use the tag library. In this case,
the taglib directive in JSP pages should refer to this JAR, which must be available to the JSP engine via a
URL (or mapped URL). This enables custom tags to be supplied in self-contained units a vital precondition
for the successful distribution of third-party custom tags.
The taglib directive will look like this:
<%@ taglib uri="/tagext/hellotags.jar" prefix="examples" %>
The easiest way to JAR tag extension classes is to create a META-INF directory containing the tag library
descriptor (renamed taglib.tld if necessary) under the root of your Java package hierarchy (that is,
parallel to com). The jar tool can then be invoked easily from the root directory. The example below shows
the process of creating a JAR file from the second group of examples in the next chapter, and the eventual
contents of the file. The viewJar directory is the base of the Java package tree (here containing only the
jspstyle package):
New on the Java Boutique:
New Review:
Time Management Made Easy with the Quartz Enterprise Job Scheduler
Why not just use the Java timer API? This open source scheduling
API boasts simplicity, ease-of-integration, a well-rounded feature
set, and it's free!
New Applet:
Reverse Complement
Reverse Complement is a simple applet that converts DNA or RNA
sequences into three useful formats.
Elsewhere on internet.com:
WebDeveloper Java
Lots of Java information on webdeveloper.com
WDVL Java
Thorough Java resource at the Web Developer's Virtual Library.
ScriptSearch Java
Hundreds of free Java code files to download.
jGuru: Your View of the Java Universe
Customizable portal with online training, FAQs, regular news updates, and tutorials.
|