Reviews : Java Books :
Professional Java Server Programming J2EE Edition : Chapter 12

Professional Java Server Programming J2EE Edition
Chapter 12

Title: Professional Java Server Programming J2EE Edition
ISBN: 1861004656
US Price: $ 64.99
Canadian Price:
C$ 97.95
UK Price: £ 46.99
Publication Date: September 2000
Pages: 1633
© Wrox Press Limited, US and UK.

We could actually have omitted the doStartTag() method. I include it for completeness, but in fact it does exactly what its superclass TagSupport's doStartTag() method does: instruct the JSP engine to evaluate the tag's content and any subtags.

Tag Library Descriptors

Tag Library Descriptors or TLDs are XML documents with a .tld extension that describe one or more tag extensions. TLDs must conform to the Document Type Definition (DTD) included in the JSP 1.1 specification. Many of the elements are intended to provide support for JSP authoring tools, although such tools are yet to be widely available in the market.

The root element is <taglib>. It's defined in the DTD by:

  • <!ELEMENT taglib
    (tlibversion, jspversion?,
    shortname, uri?, info?,
    tag+) >
    
  • tlibversion is the version of the tag library implementation. This is defined by the author of the tag library.
  • jspversion is the version of JSP specification the tag library depends on. At the time of writing the value you should use is 1.1 (the default). The element is optional.
  • shortname is a simple default name that could be used by a JSP authoring tool; the best value to use is the preferred prefix value: that is, a suggestion as to a prefix to use when importing the tag library. Although there is no way of enforcing this, hopefully developers using the library will follow this suggestion, and consistency will be achieved between all users of the tag library. The shortname should not contain whitespace, and should not start with a digit or underscore.
  • uri is an optional URI uniquely identifying this tag library. If it is used, the value will normally be the URL of the definitive version of the tag library descriptor.
  • info is an arbitrary text string describing the tag library. Think of it as the equivalent of a Javadoc comment relating to an entire class or package; the authoring tool may display it when the tag library is imported.

The <tag> element is the most important. It's defined in the DTD as:

  • <!ELEMENT tag
    (name, tagclass, teiclass?,
    bodycontent?, info?, attribute*) >
    
  • name is the name that will identify this tag (after the tag library prefix).
  • tagclass is the fully qualified name of the tag handler class that implements this tag. This class must implement the javax.servlet.jsp.tagext.Tag interface.
  • teiclass stands for TagExtraInfo class, and defines the subclass of javax.servlet.jsp.tagext.TagExtraInfo that will provide extra information about this tag at runtime to the JSP. Not all tags require a TagExtraInfo class.

How to Add Java Applets to Your Site

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.