Building on 2.1, Spring Web Flow version 2.2 adds support for core JSF 2 features The following features that were not supported in 2.1 are now available: partial state saving, JSF 2 resource request, handling, and JSF 2 Ajax requests. At this point support for JSF 2 is considered comprehensive although not covering every JSF 2 feature -- excluded are mostly features that overlap with the core value Web Flow provides such as those relating to navigation and state management.
See the section called “Configuring Web Flow for use with JSF” for important configuration changes.
Note that partial state saving is only supported with Sun Mojarra 2.0.3 or later.
It is not yet supported with Apache MyFaces. This is due to the
fact MyFaces was not as easy to customize with regards to how component state is stored.
We will work with Apache MyFaces to provide this support. In the mean time you will need to use
the javax.faces.PARTIAL_STATE_SAVING context parameter in web.xml
to disable partial state saving with Apache MyFaces.
The main Spring Travel sample demonstrating Spring Web Flow and JSF support is now built on JSF 2 and components from the PrimeFaces component library. Please check out the booking-faces sample in the distribution.
Additional samples can be found at the Spring Web Flow - Prime Faces Showcase, an SVN repository within the spring-samples repository. Use these commands to check out and build:
svn co https://src.springframework.org/svn/spring-samples/webflow-primefaces-showcase cd webflow-primefaces-showcase mvn package
A new Spring Security tag library is available for use with with JSF 2.0 or with JSF 1.2 Facelets views. It provides an <authorize> tag as well as several EL functions. See the section called “Using the Spring Security Facelets Tag Library” for more details.
Starting with Spring 3.0.4, the Spring Framework includes a replacement for the ResourcesServlet. Please see the Spring Framework documentation for details on the custom mvc namespace, specifically the new "resources" element.
The bundled custom Dojo build is upgraded to version 1.5. It now includes dojox.
Note that applications are generally encouraged to prepare their own custom Dojo build for optimized performance depending on what parts of Dojo are commonly used together. For examples see the scripts used by Spring Web Flow to prepare its own custom Dojo build.
The spring-js artifact has been split in two -- the new artifact
(spring-js-resources) contains client side resource (.js, .css, etc.) while
the existing artifact (spring-js) contains server-side Java code only.
Applications preparing their own custom Dojo build have an option now to
avoid including spring-js-resources and put Spring.js and
Spring-Dojo.js directly under the root of their web application.
Bundled client resources (.js, .css, etc.)
have been moved to META-INF/web-resources from their previous location
under META-INF. This change is transparent for applications but will result
in simpler and safer configuration when using the new resource handling
mechanism available in Spring 3.0.4.
In previous versions of Spring Web Flow support for JSF Portlets relied on a Portlet Bridge for JSF implementation and was considered experimental. Spring Web Flow 2.2 adds support for JSF Portlets based on its own internal Portlet integration targeting Portlet API 2.0 and JSF 1.2 environments. See the section called “Using Portlets with JSF” for more details. The Spring Web Flow Travel JSF Portlets sample has been successfully tested on the Apache Pluto portal container.