Professional Java Server Programming J2EE Edition Chapter 12
Although the XML structure is not complex, and at present TLDs will usually be written
by hand, as JSP 1.1 becomes more widely supported tool support can be expected. This
will synchronize TLDs and the relevant Java classes, avoiding time-wasting trivial errors.
Using Tag Extensions in JSP Pages
Unlike the standard actions such as <jsp:forward>, custom tags must be explicitly imported into JSP
pages that wish to use them. The syntax for the taglib directive is shown below:
<%@ taglib
uri="http://www.tagvendor.com/tags/tags.tld"
prefix="examples" %>
The uri attribute tells the JSP engine where to find the TLD for the tag library. The prefix attribute tells
the JSP engine what prefix will be given to tags from this library in the remainder of the JSP.
A JSP may import any number of tag libraries. The taglib directive will cause an exception at translation
time if the tag library cannot be located; the first attempted access to any tag defined in the TLD will cause an
exception at runtime if all the classes required to support the tag implementation cannot be loaded.
Once the tag library has been imported into the page, tags in a library can be called as follows:
<examples:someTag name="Rod">
...
</examples:someTag>
The way in which custom tags are used in JSPs is an example of Sun's efforts to introduce XML conventions
into JSP syntax. Note that, unlike HTML attributes, the attributes of custom tag must be enclosed in double
quotes, in accordance with the XML specification. (Of course it is good practice to write XML compliant HTML
markup, but browsers do not currently enforce it.) Tag prefixes use the same syntax as XML namespaces.
When a tag requires no body content, it is best to use the XML shorthand to make this explicit:
<examples:hello name="Rod" />
Tag prefixes are defined in JSPs, not, as one might expect, in tag libraries. Choice of prefix
is a matter for developers, but consistency among JSP pages importing the same tag
library is advisable. It is best to adopt the value of the shortname element in the tag
library. The prefixes jsp:, jspx:, java:, javax:, servlet:, sun:, and sunw: are
reserved. It's perhaps unfortunate that Sun has not defined a unique naming system such
as the Java package naming system for tag library prefixes. Choosing a prefix unique to a
company or organization is advisable: for example, instead of using the potentially
clashing short name tables, it might be advisable to use myCompany_tables.
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.
|