JavaServer Faces 1.2 and JavaServer Pages 2.1 Public Review Specifications available
I'm pleased to announce the availability of the Public Review
revisions of the next release of the JavaServerTM Faces and
Pages specifications. The Faces spec may be downloaded from <
href="http://www.jcp.org/en/jsr/detail?id=252">http://www.jcp.org/en/jsr/detail?id=252>
and the Pages spec may be downloaded from <
href="http://www.jcp.org/en/jsr/detail?id=245">http://www.jcp.org/en/jsr/detail?id=245>
We really want feedback! Please use our
href="http://forum.java.sun.com/thread.jspa?threadID=617376&tstart=0">Forum
to share your thoughts on the specs. Or you may send feedback to
the comments alias for
title="[PUBLIC REVIEW FEEDBACK]">Faces or
href="mailto:jsr-245-comments@jcp.org" title="[PUBLIC REVIEW
FEEDBACK]">JSP (
title="[PUBLIC REVIEW FEEDBACK]">jsr-252-comments@jcp.org and
href="mailto:jsr-245-comments@jcp.org" title="[PUBLIC REVIEW
FEEDBACK]">jsr-245-comments@jcp.org respectively) .
In this entry, I link to a comprehensive high level outline of the
changes to the spec since the 1.1 release of the Faces spec. I've
decided include changes present in the
href="http://jcp.org/aboutJava/communityprocess/edr/jsr252/index.html">December
Early Draft Release as well as the current release for
completeness. Keep in mind this is a high level outline, for details,
I encourage you to read the relevant sections of the spec itself.
Before we get to the outline, here is a brief summary of the main
changes:
-
Unified EL
The expression language used in Faces, which
was inspired by the expression language used in
JSTL and JSP, has been generalized and extracted
into its own top leveljavax.el
package. The EL is agnostic of the technology
hosting it, such as JSP or Faces, and is intended
to be generally useful in the same way one can use
OGNL in a variety of applications. Faces now has
deprecated its internal EL in favor of using the
Unified EL. -
New Tree Creation and Content Interweaving
Model for Faces applications that use JSPWhile it is perfectly acceptable to use Faces
without using JSP, many people find their
productivity increases when using these two
technologies together. Unfortunately, as amply
documented by href="http://www.onjava.com/pub/a/onjava/2004/06/09/jsf.html">Hans
Bergsten in his article at onjava.com, there
were some integration cases that didn't work as
expected. By changing the specification of the
implementation of the Faces ViewHandler for JSP,
as well as changing the JSP custom tag base class
used by all Faces component tags, these problems
have all been resolved. -
Integration with JSTL
Another long standing problem was in using JSTL's
<c:forEach>tag to contain Faces input
components. Because JSP has no notion of a postback, it was
not possible to apply the values correctly to the nested input
components on postback. By introducing some new concepts into
the EL, it is now possible to fully use
<c:forEach>with any kind of Faces
component. This will require a new release of JSTL, which
will also be present in J2EE 5, along with Faces and JSP. -
Back Button issues and Multi Frame or Multi Window
Faces AppsDue to a deficiency in the State Management API using Faces
in Multi Frame or Multi Window applications presented some
problems. The browser back button also could cause
application state to become confused. These problems have now
been fixed. -
Associating a message with a particular component in
the page.Previous revisions of the spec didn't allow for
dynamically including the label of a component in an error
message for that component. New spec features now allow for
this to happen.
The golden question, of course, where's the implementation? It's all
implemented, but the implementation of the Faces spec is only partially
available, due to the unavailability of a public implementation of the
JSP 2.1 spec. There are two reasons for this.
-
We heavily leverage the new, Unified EL, that is a
separate spec document but, for convenience, is being
delivered under the JSP 2.1 spec. So, while using the Unified
EL does introduce a dependency on JSP 2.1, there is nothing
stopping someone from implementing the EL spec outside of
JSP. -
In order to fix the Tree Creation and Content
Interweaving problems (which are inherent to the old way of
using Faces and JSP together, and therefore already implicitly
dependent on JSP), as well as using <c:forEach> with
Faces input components (and therefore implicitly dependent on
JSTL), we had to make changes to the JSP spec, which are being
delivered as part of JSP 2.1
The parts that are unavailable are those parts that a user would
encounter only when using Faces and JSP together. The parts that are
available are those parts that a user would encounter whether they use
Faces with JSP or not. Features that are unavailable at this time are
listed in gray, available features are listed
in non-gray text. Available features are present in the latest release
of the official Faces implementation on
href="https://javaserverfaces.dev.java.net/">java.net which
continues to run on J2EE 1.3 containers. Note that the content in
section IV is mostly available.
Now, the outline of changes is available href="http://weblogs.java.net/blog/edburns/outline.html">here.
- Login or register to post comments
- Printer-friendly version
- edburns's blog
- 1597 reads





