background image

Custom Tags in JSP Pages

<< More on JSTL | What Is a Custom Tag >>
<< More on JSTL | What Is a Custom Tag >>

Custom Tags in JSP Pages

Custom Tags in JSP Pages
The standard JSP tags simplify JSP page development and maintenance. JSP technology also
provides a mechanism for encapsulating other types of dynamic functionality in custom tags,
which are extensions to the JSP language. Some examples of tasks that can be performed by
custom tags include operating on implicit objects, processing forms, accessing databases and
other enterprise services such as email and directories, and implementing flow control. Custom
tags increase productivity because they can be reused in more than one application.
Custom tags are distributed in a tag library, which defines a set of related custom tags and
contains the objects that implement the tags. The object that implements a custom tag is called a
tag handler. JSP technology defines two types of tag handlers: simple and classic. Simple tag
handlers can be used only for tags that do not use scripting elements in attribute values or the
tag body. Classic tag handlers must be used if scripting elements are required. Simple tag
handlers are covered in this chapter, and classic tag handlers are discussed in
Chapter 9,
"Scripting in JSP Pages."
You can write simple tag handlers using the JSP language or using the Java language. A tag file is
a source file containing a reusable fragment of JSP code that is translated into a simple tag
handler by the web container. Tag files can be used to develop custom tags that are
presentation-centric or that can take advantage of existing tag libraries, or by page authors who
do not know Java. When the flexibility of the Java programming language is needed to define
the tag, JSP technology provides a simple API for developing a tag handler in the Java
programming language.
This chapter assumes that you are familiar with the material in
Chapter 5, "JavaServer Pages
Technology,"
especially the section
"Using Custom Tags" on page 172
. For more information
about tag libraries and for pointers to some freely available libraries, see
http://java.sun.com/products/jsp/taglibraries/index.jsp
.
8
C H A P T E R
8
225