Point of integration between Spring Web MVC and Spring Web Flow: a
Controller that routes incoming requests to one or more managed flow
executions.
Requests into the web flow system are handled by a
FlowExecutor ,
which this class delegates to using a
FlowRequestHandler helper.
Consult the JavaDoc of that class for more information on how requests are
processed.
Note: a single FlowController may execute all flows of your application.
- By default, to have this controller launch a new flow execution
(conversation), have the client send a
FlowExecutorArgumentHandler.getFlowIdArgumentName request
parameter indicating the flow definition to launch.
- To have this controller participate in an existing flow execution
(conversation), have the client send a
FlowExecutorArgumentHandler.getFlowExecutionKeyArgumentName request parameter identifying the conversation to participate in.
See the
flow-launcher sample application for examples of the
various strategies for launching and resuming flow executions.
Usage example:
<!--
Exposes flows for execution at a single request URL.
The id of a flow to launch should be passed in by clients using
the "_flowId" request parameter:
e.g. /app.htm?_flowId=flow1
-->
<bean name="/app.htm" class="org.springframework.webflow.executor.mvc.FlowController">
<property name="flowExecutor" ref="flowExecutor"/>
</bean>
It is also possible to customize the
FlowExecutorArgumentHandler strategy to allow for different types of controller parameterization, for
example perhaps in conjunction with a REST-style request mapper (see
RequestPathFlowExecutorArgumentHandler ).
See Also: org.springframework.webflow.executor.FlowExecutor See Also: org.springframework.webflow.executor.support.FlowRequestHandler See Also: org.springframework.webflow.executor.support.FlowExecutorArgumentHandler author: Erwin Vervaet author: Keith Donald |