JSRs: Java Specification Requests
JSR 245: JavaServerTM Pages 2.1
JCP version in use: 2.7
Java Specification Participation Agreement version in use: 2.0
This is the next revision of the JavaServerTM Pages specification. The purpose of JSP 2.1 is to improve alignment with JavaServerTM Faces (JSF) and enhance ease of development.
Please direct comments on this JSR to the Spec Lead(s)
The following information has been updated from the original request.
Specification Lead: Kin-Man Chung
E-Mail Address: kinman.chung
Telephone Number: +1 408 276 7116
Fax Number: -2006.02.14:
Specification Lead: Jan Luehe
E-Mail Address: jan.luehe
Telephone Number: +1 415 762 0186
Fax Number: -
Section 1. Identification
Submitting Member: Sun Microsystems, Inc.
Name of Contact Person: Mark Roth
E-Mail Address: mark.roth
Telephone Number: +1 718 408 3164
Fax Number: + 1 718 408 3164
Specification Lead: Pierre Delisle & Mark Roth
E-Mail Address: pierre.delisle
Telephone Number: +1 408 276 7056
Fax Number: + 1 408 276 7056
Initial Expert Group Membership:
Supporting this JSR:
Section 2: Request
2.1 Please describe the proposed Specification:
JSP technology is focused on simplifying the generation of dynamic web content. The JSP 2.0 specification (JSR-152) substantially extended the technology by integrating a simple yet powerful expression language, simplifying the tag extension API, and enhancing the pure XML syntax, among other important enhancements. These enhancements greatly reduced the learning curve of the technology, warranting a major version number upgrade.
The scope of JSP 2.1 is much narrower and focuses on better alignment with the next release of JavaServer Faces.
JavaServer Faces 1.0 (JSR-127) defines a standard framework for building User Interface components, and builds on top of JSP 1.2 technology. Because JSP 1.2 technology does not have an integrated expression language and because the JSP 2.0 EL does not meet all of the needs of JSF, a new expression language was developed for JSF 1.0. The JSF EG attempted to make the language as compatible with JSP 2.0 as possible but some differences were necessary. The JSF EG agreed that the JSF 1.0 EL will be phased out in the next release of the JSF specification in favor of the JSP 2.1 expression language. It is a goal, therefore, of JSP 2.1 to enhance the expression language to meet the needs of JSF technology. Many of these enhancements are likely to be useful in other contexts as well.
Enhancements to be considered for the JSP 2.1 expression language include, but are not limited to, the following:
2.2 What is the target Java platform? (i.e., desktop, server, personal, embedded, card, etc.)
JavaTM 2 Platform, Enterprise Edition (J2EE) 1.5.
2.3 The Executive Committees would like to ensure JSR submitters think about how their proposed technology relates to all of the Java platform editions. Please provide details here for which platform editions are being targeted by this JSR, and how this JSR has considered the relationship with the other platform editions.
This specification targets the J2EE 1.5 Platform. It will be based on the corresponding release of the J2SE platform.
2.4 Should this JSR be voted on by both Executive Committees?
2.5 What need of the Java community will be addressed by the proposed specification?
JSP 2.1 will address the need of the Java community for closer synchronization between the JavaServer Faces and JavaServer Pages specifications.
2.6 Why isn't this need met by existing specifications?
JSP 2.0 finalized before JSF 1.0 did and thus could not fully accommodate JSF's changing requirements.
2.7 Please give a short description of the underlying technology or technologies:
See 2.1 above.
2.8 Is there a proposed package name for the API Specification? (i.e., javapi.something, org.something, etc.)
javax.servlet.jsp.*, javax.servlet.jsp.tagext.*, javax.servlet.jsp.el.*
2.9 Does the proposed specification have any dependencies on specific operating systems, CPUs, or I/O devices that you know of?
2.10 Are there any security issues that cannot be addressed by the current security model?
The JSP specification will build on the Servlet specification in this area.
2.11 Are there any internationalization or localization issues?
JSP technology deals with internationalization and localization and may provide small refinements to existing features in this area.
2.12 Are there any existing specifications that might be rendered obsolete, deprecated, or in need of revision as a result of this work?
The JavaServer Faces specification will need to be revised to support the new JSP 2.1 expression language. JSF will continue to support its existing expression language for backwards compatibility but will favor the JSP 2.1 expression language going forward.
2.13 Please describe the anticipated schedule for the development of this specification.
The specification will follow the J2EE 1.5 schedule.
The following dates are preliminary:
2.14 Please describe the anticipated working model for the Expert Group working on developing this specification.
We envision an elaboration of the style followed in the JSR-152 EG: an active Expert Group, with an open mailing list that is combined with private communication and with a EG web site for exchanging of information. In addition, members from both the JavaServer Pages and the JavaServer Faces expert group will form an EL subteam to ensure that the needs of both JSP and JSF are well represented.
2.15 It is important to the success of the community and each JSR that the work of the Expert Group be handled in a manner which provides the community and the public with insight into the work the Expert Group is doing, and the decisions that the Expert Group has made. The Executive Committees would like to ensure Spec Leads understand the value of this transparency and ask that each JSR have an operating plan in place for how their JSR will address the involvement of the community and the public. Please provide your plan here, and refer to the Spec Lead Guide for a more detailed description and a set of example questions you may wish to answer in your plan.
The leads of this JSR strongly believe in the importance of transparency and will create project "jsp-spec-public" at java.net to keep members of the community informed about the work performed in this JSR.
More specifically, this transparency will be realized at java.net through the following tools:
- Community pages will be maintained within the project to provide general information on the JSP specification and more specifically on the currently active JSR.
Finally, it is also important to note that the source tree for the Reference Implementation of this JSR is open-sourced within the jakarta-tomcat project at Apache.
2.16 Please describe how the RI and TCK will de delivered, i.e. as part of a profile or platform edition, or stand-alone, or both. Include version information for the profile or platform in your answer.
Sun will deliver a Reference Implementation (RI) and Technology Compatibility Kit (TCK) as part of J2EE 1.5. In addition, the source code for the RI will be available through Apache and the TCK for JSP will be available independently. See the business terms for more details.
2.17 Please state the rationale if previous versions are available stand-alone and you are now proposing in 2.13 to only deliver RI and TCK as part of a profile or platform edition (See sections 1.1.5 and 1.1.6 of the JCP 2 document).
2.18 Please provide a description of the business terms for the Specification, RI and TCK that will apply when this JSR is final.
Pursuant to Section 2.2.1 of the Java Community Process version 2.6, the following is a summary of Sun's anticipated principal license terms and conditions for the JSR ### JavaServer Pages, version 2.1.
The JavaServer Pages 2.1 TCK will be licensed at no charge, without support, to qualified not-for-profit entities in accordance with the terms of Compatibility Testing Scholarship Program. For more information, please refer to: http://java.sun.com/scholarship/. The TCK may be licensed for commercial use by licensing the J2EE 1.5 CTS.
The Reference Implementation source may be licensed for commercial redistribution by licensing the J2EE 1.5 Reference Implementation source.
Licensing of the RI is not required for the licensing of the TCK.
Section 3: Contributions
3.1 Please list any existing documents, specifications, or implementations that describe the technology. Please include links to the documents if they are publicly available.
3.2 Explanation of how these items might be used as a starting point for the work.
The JSP 2.0 specification will be used as a starting point for the work on JSP 2.1, which will be part of the greater J2EE 1.5 platform, which also includes the next version of Servlet. The needs of the JavaServer Faces specification that JSP 1.2 and JSP 2.0 do not fulfill will drive some of the requirements for JSP 2.1. JSTL is a related technology.