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.
You can ask questions and interact on StackOverflow using the designated tags, see Spring at StackOverflow.
Report bugs and make requests using the Spring Issue Tracker.
Submit pull requests and work with the source code , see Web Flow on Github.
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>