Preface
Many web applications require the same sequence of steps to execute in different contexts.
Often these sequences are merely components of a larger task the user is trying to accomplish.
Such a reusable sequence is called a flow.
Consider a typical shopping cart application.
User registration, login, and cart checkout are all examples of flows that can be invoked from several places in this type of application.
Spring Web Flow is the module of Spring for implementing flows.
The Web Flow engine plugs into the Spring Web MVC platform and provides declarative flow definition language.
This reference guide shows you how to use and extend Spring Web Flow.
Introduction
What this guide covers
This guide covers all aspects of Spring Web Flow.
It covers implementing flows in end-user applications and working with the feature set.
It also covers extending the framework and the overall architectural model.
What Web Flow requires to run
Java 1.4 or higher
Spring 2.5.4 or higher
Where to get support
Professional from-the-source support on Spring Web Flow is available from
SpringSource, the company behind Spring, and
Ervacon, operated by Web Flow project co-founder Erwin Vervaet
Where to follow development
You can help make Web Flow best serve the needs of the Spring community by interacting with developers
at the Spring Community Forums.
Report bugs and influence the Web Flow project roadmap using the Spring Issue Tracker.
Subscribe to the Spring Community Portal for the latest Spring news and announcements.
Visit the Web Flow Project Home for more resources on the project.
How to obtain Web Flow artifacts from the SpringSource Bundle Repository
Each jar in the Web Flow distribution is available in the SpringSource Enterprise Bundle Repository.
These jars may be accessed using Maven or Ivy dependency managers.
Accessing Web Flow with Maven
To access jars using Maven, add the following repositories to your Maven pom:
com.springsource.repository.bundles.release
SpringSource Enterprise Bundle Repository - SpringSource Releases
http://repository.springsource.com/maven/bundles/release
com.springsource.repository.bundles.external
SpringSource Enterprise Bundle Repository - External Releases
http://repository.springsource.com/maven/bundles/external
]]>
Then declare the following dependencies:
org.springframework.webflow
org.springframework.binding
2.0.6.RELEASE
org.springframework.webflow
org.springframework.js
2.0.6.RELEASE
org.springframework.webflow
org.springframework.webflow
2.0.6.RELEASE
]]>
And if using JavaServerFaces:
org.springframework.webflow
org.springframework.faces
2.0.6.RELEASE
]]>
Accessing Web Flow with Ivy
To access jars using Ivy, add the following repositories to your Ivy config:
]]>
Then declare the following dependencies:
runtime" />
]]>
And if using JavaServerFaces:
runtime" />
]]>
How to obtain Web Flow artifacts from Maven Central
Each jar in the Web Flow distribution is also available in the Maven Central Repository.
To access Web Flow jars from Maven Central, declare the following dependencies in your pom:
org.springframework.webflow
org.springframework.binding
2.0.6.RELEASE
org.springframework.webflow
org.springframework.js
2.0.6.RELEASE
org.springframework.webflow
org.springframework.webflow
2.0.6.RELEASE
]]>
And if using JavaServerFaces:
org.springframework.webflow
org.springframework.faces
2.0.6.RELEASE
]]>
How to Obtain Nightly Builds
Nightly snapshots of the Web Flow trunk are available at the SpringSource Bundle Repository.
To access snapshots, add the following repository to your pom:
com.springsource.repository.bundles.snapshot
SpringSource Enterprise Bundle Repository - Nightly Snapshots
http://repository.springsource.com/maven/bundles/snapshot
]]>
Then declare the following dependencies:
org.springframework.webflow
org.springframework.binding
3.0.0.CI-###
org.springframework.webflow
org.springframework.js
3.0.0.CI-###
org.springframework.webflow
org.springframework.webflow
3.0.0.CI-###
]]>
And if using JavaServerFaces:
org.springframework.webflow
org.springframework.faces
3.0.0.CI-###
]]>
Where '###' above represents the build number like 3.0.0.CI-500.
Get the latest build number by browsing the nightly build area.