Spring Web Flow 1.0 Released

Spring Web Flow is a next generation web application controller framework that allows developers to define user interaction and application behavior as reusable, high-level modules called flows. The framework delivers improved productivity and testability while providing a strong solution to enforcing navigation rules and managing application state.
- Define all controller logic for an application task, such as a search process, in one place, instead of scattering that logic across many places.
- Compose flows together to create rich controller modules from simple parts.
- Enforce strict user navigation rules with a natural, object-oriented linear programming model and without coding verbose if/else blocks.
- Have memory you allocate during flow execution automatically clean itself up when the flow ends or expires.
- Deploy a flow for execution in a Servlet environment using your base web framework of choice.
- Change base web frameworks without changing your flow definitions.
- Change environments all together, going from JUnit test to Portlet for example, without changing your flow definitions.
- Change your flow definition logic on-the-fly during integration testing at any time without a container restart.
- Receive automatic POST+REDIRECT+GET behavior by default with no custom coding.
- Receive automatic browser button support (back, forward, refresh) with no custom coding.
- Store task data in any of four managed scopes: request, flash, flow, and conversation; each with their own distinct semantics.
- Test flows in isolation without the container. Ensure your application control logic works before you deploy.
- Phonebook - the original sample demonstrating most features (including subflows)
- Sellitem - demonstrates a wizard with conditional transitions, flow execution redirects, custom text field formatting, and continuations
- Flowlauncher - demonstrates all the possible ways to launch and resume flows
- Itemlist - demonstrates REST-style URLs and inline flows
- Shippingrate - demonstrates Spring Web Flow together with Ajax technology
- NumberGuess - demonstrates stateful beans, evaluate actions, and "single key" flow execution redirects.
- Birthdate - demonstrates Struts integration
- Fileupload - demonstrates multipart file upload, set actions, and flash scope
- Phonebook-Portlet - the phonebook sample in a Portlet environment (notice how the flow definitions do not change)
- Sellitem-JSF - the sellitem sample in a JSF environment
To build the sample applications for quick evaluation simply:
- Extract the spring-webflow-1.0.zip release archive
- Access the projects/spring-webflow/build-spring-webflow directory
- Execute the ant dist target.
- See the target/artifacts directory for deployable .war files for each sample as well as expanded war directories.
See the release readme.txt and projects/spring-webflow/spring-webflow-samples/readme.txt for more information on the release archive contents and samples, respectively.
All sample projects are Spring IDE projects directly importable into Eclipse.
Thanks to everyone out there who has supported us over the last year and a half--especially Juergen Hoeller, Ulrik Sandberg, Ben Hale, and the SWF forum community (you know who you are!). A lot has happened since we started--not only have we seen this Web Flow "baby" grow from infancy to maturity and now a stable release, Erwin's little Esther was "released' in February 2005, then Keith's daughter Annabelle in February 2006, and just recently Erwin's second, Alexander in August of this year. So we can officially say after 20 months and 3 kids, Web Flow 1.0 is finally here!
We truly hope you continue to find Spring Web Flow valuable to your projects. Enjoy!
Keith and Erwin
Leads, The Spring Web Flow Team
Notes
- Spring Web Flow runs on Java SE 1.3 or greater, and Java EE 1.3 (Servlet 2.3, Portlet 1.0) or greater.
- Spring 1.2.7 or greater is required for the Spring 1.x series, Spring 2.0 or > is required for the Spring 2.x series.
- Struts Classic (1.2.9), Spring MVC, and JSF integration is shipped out-of-the-box.
- The 1.0 release signifies that API and XSD backwards compatability will be preserved throughout the 1.x series.
Additional Resources
- Explore the Web Flow team's journey to 1.0 by reviewing previous release announcements.
- Attend The Spring Experience 2006, the premier conference for the Spring community, December 7th - 10th in Hollywood, Florida to see Keith and Erwin put the latest Web Flow features in action.
- Get community support at forum.springframework.org.
- Track future Spring Web Flow 1.x development with the Roadmap
- Get insights from the leads of Spring development at the Interface21 team blog.
- Spring Web Flow 1.0 will be available in the Maven2 repository later today.
Bookmark this page for the rollout of additional screencasts and code examples showing Web Flow in action.








