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.
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
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.
Each jar in the Web Flow distribution is available in the Maven Central Repository. This allows you to easily integrate Web Flow into your application if you are already using Maven as the build system for your web development project.
To access Web Flow jars from Maven Central, declare the following dependency in your pom (includes transitive dependencies "spring-binding" and "spring-js"):
<dependency> <groupId>org.springframework.webflow</groupId> <artifactId>spring-webflow</artifactId> <version>x.y.z.RELEASE</version> </dependency>
If using JavaServer Faces, declare the following dependency in your pom (includes transitive dependencies "spring-binding", "spring-webflow" and "spring-js"):
<dependency> <groupId>org.springframework.webflow</groupId> <artifactId>spring-faces</artifactId> <version>x.y.z.RELEASE</version> </dependency>
To access Spring Web Flow jars with Ivy, add the following repositories to your Ivy config:
<url name="com.springsource.repository.bundles.release"> <ivy pattern="http://repository.springsource.com/ivy/bundles/release/ [organisation]/[module]/[revision]/[artifact]-[revision].[ext]" /> <artifact pattern="http://repository.springsource.com/ivy/bundles/release/ [organisation]/[module]/[revision]/[artifact]-[revision].[ext]" /> </url> <url name="com.springsource.repository.bundles.external"> <ivy pattern="http://repository.springsource.com/ivy/bundles/external/ [organisation]/[module]/[revision]/[artifact]-[revision].[ext]" /> <artifact pattern="http://repository.springsource.com/ivy/bundles/external/ [organisation]/[module]/[revision]/[artifact]-[revision].[ext]" /> </url>
To access Spring Web Flow jars as well as 3rd party dependencies with Ivy, add the following repository to your Ivy config:
<url name="springsource-repository"> <ivy pattern="http://repo.spring.io/libs-release/[organization]/[module]/[revision]/[type]s/ivy-[revision].xml" /> <artifact pattern="http://repo.spring.io/libs-release/[organization]/[module]/[revision]/[type]s/[module](-[classifier])-[revision].[ext]" /> </url>
Then declare the following dependencies in your ivy.xml:
<dependency org="org.springframework.webflow" name="org.springframework.binding" rev="x.y.z.RELEASE" conf="compile->runtime" /> <dependency org="org.springframework.webflow" name="org.springframework.js" rev="x.y.z.RELEASE" conf="compile->runtime" /> <dependency org="org.springframework.webflow" name="org.springframework.webflow" rev="x.y.z.RELEASE" conf="compile->runtime" />
If using JavaServer Faces, declare the following dependency in your pom (also adds the above dependencies):
<dependency org="org.springframework.webflow" name="org.springframework.faces" rev="x.y.z.RELEASE" conf="compile->runtime" />
Nightly snapshots of Web Flow development branches are available using Maven. These snapshot builds are useful for testing out fixes you depend on in advance of the next release, and provide a convenient way for you to provide feedback about whether a fix meets your needs.
For milestones and snapshots you'll need to use the SpringSource repository. Add the following repository to your Maven pom.xml:
<repository> <id>springsource-repository</id> <name>Spring project snapshots, milestones, and releases</name> <url>http://repo.spring.io/snapshot</url> </repository>
Then declare the following dependencies:
<dependency> <groupId>org.springframework.webflow</groupId> <artifactId>spring-binding</artifactId> <version>x.y.z.BUILD-SNAPSHOT</version> </dependency> <dependency> <groupId>org.springframework.webflow</groupId> <artifactId>spring-js</artifactId> <version>x.y.z.BUILD-SNAPSHOT</version> </dependency> <dependency> <groupId>org.springframework.webflow</groupId> <artifactId>spring-webflow</artifactId> <version>x.y.z.BUILD-SNAPSHOT</version> </dependency>
And if using JavaServerFaces:
<dependency> <groupId>org.springframework.webflow</groupId> <artifactId>spring-faces</artifactId> <version>x.y.z.BUILD-SNAPSHOT</version> </dependency>