JSRs: Java Specification Requests
JSR 52: A Standard Tag Library for JavaServer PagesTM
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.
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 Email: firstname.lastname@example.org email@example.com
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:
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
We expect this specification to be part of the Java 2 Enterprise Edition.
The specification is a member of the next release of the J2EE Platform.
The specification can also be used in any compliant JSP container.
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:
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:
2.4 Specification to be developed and how it addresses the need
We propose to define a standard tag library for JavaServer Pages.
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 http://java.sun.com/product/servlet/download.html and
See below for a reference to the JSR for JSP 1.2.
To be determined.
Security requirements are handled by the underlying JSP infrastructure.
Internationalization requirements for tag libraries will be evaluated
based on partner feedback.
Localization requirements depend on the internationalization decisions
cited in 2.8.
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.
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
The Java 2 Platform, Enterprise Edition Application Programming Model
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.