The JavaServer Faces (JSF) 1.2 Public Review Draft has been approved by the JCP executive committee. Oracle, Google, and Nortel abstained from the vote (everyone else voted in favor).

New features include:

* 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 level javax.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 JSP

While 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 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 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 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 Apps

Due 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.

Links:

JSR 252 Spec Page: http://www.jcp.org/en/jsr/detail?id=252
Ed Burns' (JSF Spec Lead) blog: http://weblogs.java.net/blog/edburns/
JSF Central: http://www.jsfcentral.com