+1 -- Pierre
Jan Luehe wrote: > > 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]> -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>