Find JSRs
Submit this Search

Ad Banner

JSRs: Java Specification Requests
JSR 52: A Standard Tag Library for JavaServer PagesTM

Updates to the Original JSR

The following updates have been made to the original request.

This JSR was developed under JCP 2.1, but moved to JCP 2.6 in the Maintenance stages after the initial Final Release.

Original Java Specification Request (JSR)

Identification | Request | Contributions

Section 1: Identification

Submitting Participant:

Eduardo Pelegri-Llopart and Anil Vijendran
Java Software, Sun Microsystems, Inc. 
901 San Antonio Rd, MS UCUP02-201, Palo Alto, CA 94303 

Phone: +1 408 343 1456 and +1 408 863 3248

Other Participants Endorsing this JSR

Most partners that participated in the definition of JSP 1.1 have already expressed interest in participating in this expert group. Partners that are endorsing this JSR include:

Frank Biederich
Simeon Simeonov
Joe Chung
Dave Brown
Bob Bickel
Bluestone Software
Scott Ferguson
Assaf Arkin
Craig R. McClanahan
ASF & Jakarta
Dan Chang
Hans Bergsten
Gefion Software
Ethan Henry
KL Group
Jason Hunter
Author of "Java Servlet Programming"
Amit Kishnani
Stefano Mazzocchi
ASF & Cocoon
Todd Giles
Net Objects
Chip Shapely
Vince Bonfanti
New Atlanta
Julie Basu &
Hal Hildebrand
Oracle Corp.
Tim Lopez
Visual Cafe Group (WB Information Systems)
Magnus Stenman
Orion App Server
Jon Stevens
ASF, Turbine &
Clear Ink Corp.
Arny Epstein
Larry Cable
Sun Microsystems

Section 2: Request

This JSR requests the creation a standard tag library for JavaServer Pages. This standard tag library would be available in all compliant JSP containers, and could be used by JSP authors and JSP authoring tools in the creation of JSP pages.

Details of the standard tag library, like the specific version of the JSP specification to be targeted, what it means "to be available", and others will be determined by the expert group. The scope of the standard tag library will be determined by the expert group, but most initial feedback suggests including at least tags for

  • specifying data sources, including JDBC and LDAP
  • conditional and iterative presentation of data from these data sources.

We expect this specification to be part of the Java 2 Enterprise Edition.

2.1 Target Java platform

The specification is a member of the next release of the J2EE Platform. The specification can also be used in any compliant JSP container.

2.2 Need of the Java Community that this work addresses

The original expert group that designed the JavaServer Pages 1.0 and JavaServer Pages 1.1 specifications wanted to include a list of standard tags as part of those specifications. Unfortunately, time pressures and the dangers of standardizing on not fully-understood functionality forced the removal of any but a few very basic standard tags from these specifications.

JSP 1.1 included a standard mechanism for the creation of tag libraries but no standard tag library itself. Although the mechanism has enabled the creation of libraries to be shared across user communities, there are some benefits that are enabled by a standard tag library:

  • Widespread availability of a library that can be used by JSP authors and JSP authoring tools to easily generate powerful pages on all compliant JSP Containers
  • A high quality product, since the expertise of many communities can be pooled into this library.
  • Increated mindshare, with reduced training costs and simplified portability and maintainability of JSP pages and applications.
  • The creation of high-quality educational material targeted to the standard library.
  • Higher-quality authoring tools, as they can provide specialized support for the tags in the standard tag library.
  • Specialized implementations of the library so both portability and higher performance may be achieved.

2.3 Explanation of why the need isn't met by existing specifications

There is no standard tag library in JSP 1.1.

Although the creation of a standard tag library could be folded into the proposed JSP 1.2 specification (JSR 053), a separate expert group:

  • Ensures that the basic mechanisms in JSP 1.2 are applicable to any tag library
  • Enables the possibility of supporting JSP 1.1 containers as well as JSP 1.2 containers
  • Allows for different memberships of the expert groups, which best matches different interests
  • Decouples the release schedules of the two specification efforts

2.4 Specification to be developed and how it addresses the need

We propose to define a standard tag library for JavaServer Pages.

2.5 Detailed description of the underlying technology or technologies

A detailed description of Servlet 2.2 and JSP 1.1 functionality can be found in the respective specification documents, which can be downloaded from the sites at and See below for a reference to the JSR for JSP 1.2.

2.6 Proposed package name for API Specification

To be determined.

2.7 Security implications

Security requirements are handled by the underlying JSP infrastructure.

2.8 Internationalization implications

Internationalization requirements for tag libraries will be evaluated based on partner feedback.

2.9 Localization implications

Localization requirements depend on the internationalization decisions cited in 2.8.

2.10 Risk assessment (impact of work on target platform, impact if work not carried out, difficulties in carrying out RI and/or CTS)

Most JSP 1.0 and JSP 1.1 containers are already providing a tag library that is being used by their customers. Delays in creating a standard tag library will lead to a more fragmented situation as JSP 1.1 gains acceptance in the marketplace; it is important to create this standard now.

The scope of the standard library needs to balance the goals of standarization and innovation. Fortunately, the existance of a portable standard mechanism for defining new tag libraries means that users, common component developer tools, as well as platform vendors, will always be able to innovate by creating new tag libraries; still the scope of the standard library has to be chosen carefully.

The standard tag library may be one of the most visibles pieces of the J2EE infrastructure to a significant portion of the developers for J2EE applications, namely those creating JSP pages.

2.11 Existing specifications that might be rendered obsolete or deprecated by this work


2.12 Existing specifications that might need revisions as a result of this work


Section 3: Contributions

3.1 List of relevant existing documents:

JavaServer Pages Specification, Version 1.1

Java Servlet Specification, Version 2.2

JSR-053, "Java Servlet 2.3 and JavaServer Pages 1.2 Specifications" (in preparation)

Java 2 Platform, Enterprise Edition Specification Version 1.2 j2ee/docs.html

The Java 2 Platform, Enterprise Edition Application Programming Model

3.2 Explanation of how these items might be used as a starting point for the work

The Servlet 2.3 and JSP 1.2 specifications (JSR-053) will be based on the current Servlet 2.2 and JSP 1.1 specifications; that specification effort will have a symbiotic relationship with this one.

The Application Programming Model work will be used to validate and will take advantage of the standard library. The J2EE documents provide context for the use of Servlets and JSP within the J2EE platform. Also, we expect to start getting some feedback from and input into JSR-039, "Java Servlet and JavaServer Pages Performance".

We expect to take advantage of the experience gained from a number of projects, including several that are represented in the endorsement list.