I'd like to resume discussion on a proposal circulated by James
Strachan on March 13, 2002, about turning the implementation of JSTL's
expression language (EL) into a reusable component and moving it from
the Standard Taglib, an implementation of JSTL hosted by
jakarta-taglibs, to jakarta-commons, in order to make it available to
a larger number of projects.

James' original proposal received some positive feedback from the
taglibs-dev community. Below is a draft proposal for a formal
submission to jakarta-commons, following the format of the
jakarta-commons charter at http://jakarta.apache.org/commons/charter.html.

(0) Rationale

The JSP Standard Tag Library (JSTL), version 1.0, introduced the
concept of an Expression Language (EL), whose main goal is to provide
page authors with an easy way to access and manipulate application
data without requiring the use of scriptlets

JSP 2.0 adopted the EL specification from JSTL, and expanded its
scope: EL expressions are no longer limited to JSTL action attributes,
but may be used in any standard or custom action attribute declared to
accept a runtime expression. In addition, EL expressions may now also
be used directly in template text outside of any actions. JSP 2.0 also
added an important feature to the EL specification: EL functions,
which allow page authors to invoke static methods in Java classes from
EL expressions. Additionally, JSP 2.0 allows programmatic access and
customization of the EL evaluator through a set of standard interfaces
and abstract classes.

Currently, there are a number of projects (including Tomcat 5 and Java
Server Faces) that leverage the EL implementation of the Standard
Taglib. In addition, there seems to be interest in leveraging the EL
in the context of scripting workflow activities using custom tag
libraries.

In order to make the EL implementation available to Tomcat 5, the
Tomcat team defined a new "ant" target for the Standard Taglib that
builds just the EL portion and packages it in a JAR file
("jsp20el.jar") which is stored in Tomcat's common/lib directory. This
approach has always been considered an interim solution only, until
the EL implementation would move from the Standard Taglib to a more
visible location such as jakarta-commons.

(1) Scope of the package

The package shall provide an implementation of the Expression Language
specification which is part of the JSP 2.0 standard.

(1.5) Interaction with other packages

The package shall provide an implementation of the standard interfaces
and abstract classes of the javax.servlet.jsp.el package, which is
defined in the JSP 2.0 specification.

(2) Identify the initial source for the package

The initial codebase will be taken from the Standard Taglib project
hosted at jakarta-taglibs. The source of the Standard Taglib is
available as part of the jakarta-taglibs nightly source distribution
at http://jakarta.apache.org/builds/jakarta-taglibs/nightly/src/

(2.1) Identify the base name for the package

The base name of the package shall be org.apache.commons.el

(2.2) Identify the coding conventions for this package

The package follows Sun's Java coding conventions (see
http://java.sun.com/docs/codeconv/html/CodeConvTOC.doc.html).

(3) Identify any Jakarta-Commons resources to be created

(3.1) Mailing list

The package shall use the jakarta-commons mailing list.

(3.2) CVS repositories

The package shall use a root branch of the jakarta-commons CVS.

(3.3) Bugzilla

The package shall be listed as the "EL" component under the "Commons"
project in Bugzilla.

(3.4) Jyve FAQ (when available)

n/a

(4) Identify the initial set of committers to be listed in the Status File.

The initial set of committers will be identical to the set of
committers of the Standard Taglib project.


Thoughts?

Jan


--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to