1. Introduction

1.1. 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.

1.2. What Web Flow requires to run

Java 1.6 or higher.

Spring 3.2 or higher.

1.3. Resources

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.

1.4. How to access Web Flow artifacts from Maven Central

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>

		

1.5. How to access Web Flow artifacts with Ivy

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" />
		

1.6. How to access nightly builds and milestone releases

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.

1.6.1. Accessing snapshots and milestones with Maven

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>