258 lines
9.4 KiB
XML
258 lines
9.4 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<preface id="preface">
|
|
<title>Preface</title>
|
|
<para>
|
|
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.
|
|
</para>
|
|
<para>
|
|
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.
|
|
</para>
|
|
<para>
|
|
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.
|
|
</para>
|
|
</preface>
|
|
|
|
<chapter id="introduction">
|
|
<title>Introduction</title>
|
|
<sect1 id="manual-overview">
|
|
<title>What this guide covers</title>
|
|
<para>
|
|
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.
|
|
</para>
|
|
</sect1>
|
|
<sect1 id="system-requirements">
|
|
<title>What Web Flow requires to run</title>
|
|
<para>
|
|
Java 1.4 or higher
|
|
</para>
|
|
<para>
|
|
Spring 2.5.4 or higher
|
|
</para>
|
|
</sect1>
|
|
<sect1 id="support">
|
|
<title>Where to get support</title>
|
|
<para>
|
|
Professional from-the-source support on Spring Web Flow is available from
|
|
<ulink url="http://www.springsource.com">SpringSource</ulink>, the company behind Spring, and
|
|
<ulink url="http://www.ervacon.com">Ervacon</ulink>, operated by Web Flow project co-founder Erwin Vervaet
|
|
</para>
|
|
</sect1>
|
|
<sect1 id="development">
|
|
<title>Where to follow development</title>
|
|
<para>
|
|
You can help make Web Flow best serve the needs of the Spring community by interacting with developers
|
|
at the <ulink url="http://forum.springframework.org">Spring Community Forums</ulink>.
|
|
</para>
|
|
<para>
|
|
Report bugs and influence the Web Flow project roadmap using the <ulink url="http://jira.springframework.org">Spring Issue Tracker</ulink>.
|
|
</para>
|
|
<para>
|
|
Subscribe to the <ulink url="http://www.springframework.org">Spring Community Portal</ulink> for the latest Spring news and announcements.
|
|
</para>
|
|
<para>
|
|
Visit the <ulink url="http://www.springframework.org/webflow">Web Flow Project Home</ulink> for more resources on the project.
|
|
</para>
|
|
</sect1>
|
|
<sect1 id="jars">
|
|
<title>How to obtain Web Flow artifacts from the SpringSource Bundle Repository</title>
|
|
<para>
|
|
Each jar in the Web Flow distribution is available in the <ulink url="http://www.springsource.com/repository">SpringSource Enterprise Bundle Repository</ulink>.
|
|
These jars may be accessed using Maven or Ivy dependency managers.
|
|
Each jar obtained from the SpringSource Bundle Repository is OSGi-compatible, including all of the jar's transitive dependencies.
|
|
</para>
|
|
<sect2 id="jars-maven">
|
|
<title>Accessing Web Flow with Maven</title>
|
|
<para>
|
|
To access jars using Maven, add the following repositories to your Maven pom:
|
|
</para>
|
|
<programlisting language="xml"><![CDATA[
|
|
<repository>
|
|
<id>com.springsource.repository.bundles.release</id>
|
|
<name>SpringSource Enterprise Bundle Repository - SpringSource Releases</name>
|
|
<url>http://repository.springsource.com/maven/bundles/release</url>
|
|
</repository>
|
|
|
|
<repository>
|
|
<id>com.springsource.repository.bundles.external</id>
|
|
<name>SpringSource Enterprise Bundle Repository - External Releases</name>
|
|
<url>http://repository.springsource.com/maven/bundles/external</url>
|
|
</repository>]]>
|
|
</programlisting>
|
|
<para>
|
|
Then declare the following dependencies:
|
|
</para>
|
|
<programlisting language="xml"><![CDATA[
|
|
<dependency>
|
|
<groupId>org.springframework.webflow</groupId>
|
|
<artifactId>org.springframework.binding</artifactId>
|
|
<version>2.0.6.RELEASE</version>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.springframework.webflow</groupId>
|
|
<artifactId>org.springframework.js</artifactId>
|
|
<version>2.0.6.RELEASE</version>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.springframework.webflow</groupId>
|
|
<artifactId>org.springframework.webflow</artifactId>
|
|
<version>2.0.6.RELEASE</version>
|
|
</dependency>
|
|
]]>
|
|
</programlisting>
|
|
<para>
|
|
And if using JavaServerFaces:
|
|
</para>
|
|
<programlisting language="xml"><![CDATA[
|
|
<dependency>
|
|
<groupId>org.springframework.webflow</groupId>
|
|
<artifactId>org.springframework.faces</artifactId>
|
|
<version>2.0.6.RELEASE</version>
|
|
</dependency>
|
|
]]>
|
|
</programlisting>
|
|
</sect2>
|
|
<sect2 id="jars-ivy">
|
|
<title>Accessing Web Flow with Ivy</title>
|
|
<para>
|
|
To access jars using Ivy, add the following repositories to your Ivy config:
|
|
</para>
|
|
<programlisting language="xml"><![CDATA[
|
|
<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>]]>
|
|
</programlisting>
|
|
<para>
|
|
Then declare the following dependencies:
|
|
</para>
|
|
<programlisting language="xml"><![CDATA[
|
|
<dependency org="org.springframework.webflow" name="org.springframework.binding"
|
|
rev="2.0.6.RELEASE" conf="compile->runtime" />
|
|
<dependency org="org.springframework.webflow" name="org.springframework.js"
|
|
rev="2.0.6.RELEASE" conf="compile->runtime" />
|
|
<dependency org="org.springframework.webflow" name="org.springframework.webflow"
|
|
rev="2.0.6.RELEASE" conf="compile->runtime" />
|
|
]]>
|
|
</programlisting>
|
|
<para>
|
|
And if using JavaServerFaces:
|
|
</para>
|
|
<programlisting language="xml"><![CDATA[
|
|
<dependency org="org.springframework.webflow" name="org.springframework.faces"
|
|
rev="2.0.6.RELEASE" conf="compile->runtime" />
|
|
]]>
|
|
</programlisting>
|
|
</sect2>
|
|
</sect1>
|
|
<sect1 id="jars-mvn-central">
|
|
<title>How to obtain Web Flow artifacts from Maven Central</title>
|
|
<para>
|
|
Each jar in the Web Flow distribution is also available in the <ulink url="http://repo1.maven.org/maven2/">Maven Central Repository</ulink>.
|
|
These jars are indexed under a different artifact id because their transitive dependencies in Maven Central are not OSGi compatible.
|
|
</para>
|
|
<para>
|
|
To access Web Flow jars from Maven Central, declare the following dependencies in your pom:
|
|
</para>
|
|
<programlisting language="xml"><![CDATA[
|
|
<dependency>
|
|
<groupId>org.springframework.webflow</groupId>
|
|
<artifactId>spring-binding</artifactId>
|
|
<version>2.0.6.RELEASE</version>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.springframework.webflow</groupId>
|
|
<artifactId>spring-js</artifactId>
|
|
<version>2.0.6.RELEASE</version>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.springframework.webflow</groupId>
|
|
<artifactId>spring-webflow</artifactId>
|
|
<version>2.0.6.RELEASE</version>
|
|
</dependency>
|
|
]]>
|
|
</programlisting>
|
|
<para>
|
|
And if using JavaServerFaces:
|
|
</para>
|
|
<programlisting language="xml"><![CDATA[
|
|
<dependency>
|
|
<groupId>org.springframework.webflow</groupId>
|
|
<artifactId>spring-faces</artifactId>
|
|
<version>2.0.6.RELEASE</version>
|
|
</dependency>
|
|
]]>
|
|
</programlisting>
|
|
</sect1>
|
|
<sect1>
|
|
<title>How to Obtain Nightly Builds</title>
|
|
<para>
|
|
Nightly snapshots of the Web Flow trunk are available at the SpringSource Bundle Repository.
|
|
To access snapshots, add the following repository to your pom:
|
|
</para>
|
|
<programlisting language="xml"><![CDATA[
|
|
<repository>
|
|
<id>com.springsource.repository.bundles.snapshot</id>
|
|
<name>SpringSource Enterprise Bundle Repository - Nightly Snapshots</name>
|
|
<url>http://repository.springsource.com/maven/bundles/snapshot</url>
|
|
</repository>]]>
|
|
</programlisting>
|
|
<para>
|
|
Then declare the following dependencies:
|
|
</para>
|
|
<programlisting language="xml"><![CDATA[
|
|
<dependency>
|
|
<groupId>org.springframework.webflow</groupId>
|
|
<artifactId>org.springframework.binding</artifactId>
|
|
<version>3.0.0.CI-###</version>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.springframework.webflow</groupId>
|
|
<artifactId>org.springframework.js</artifactId>
|
|
<version>3.0.0.CI-###</version>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.springframework.webflow</groupId>
|
|
<artifactId>org.springframework.webflow</artifactId>
|
|
<version>3.0.0.CI-###</version>
|
|
</dependency>
|
|
]]>
|
|
</programlisting>
|
|
<para>
|
|
And if using JavaServerFaces:
|
|
</para>
|
|
<programlisting language="xml"><![CDATA[
|
|
<dependency>
|
|
<groupId>org.springframework.webflow</groupId>
|
|
<artifactId>org.springframework.faces</artifactId>
|
|
<version>3.0.0.CI-###</version>
|
|
</dependency>
|
|
]]>
|
|
</programlisting>
|
|
<para>
|
|
Where '###' above represents the build number like 3.0.0.CI-500.
|
|
Get the latest build number by browsing the <ulink url="http://static.springframework.org/downloads/nightly/snapshot-download.php?project=SWF">nightly build area</ulink>.
|
|
</para>
|
|
</sect1>
|
|
</chapter> |