Listing 1

<webflow id="checkout" start-state=" viewShoppingCart">
	<view-state id="viewShoppingCart" view="sc.view">
		<transition on="next"  to=" viewShippingAddress" />
		<transition on="cancel"  to=" cancelFlow" />
	<view-state>
	<view-state id="viewShippingAddress" view="sa.view">
		<transition on="next"  to="bindAndValidateSA" />
		<transition on="back"  to=" viewShoppingCart" />
		<transition on="cancel"  to=" cancelFlow" />
	<view-state>
	<action-state id="bindAndValidateSA">
		<action bean="checkout.shippingAddress" />
		<transition on="success"  to=" viewBillingAddress" />
		<transition on="error"  to=" viewShippingAddress" />
	<action-state>
..............
</webflow>


Listing 2

<bean id="CheckoutFlow" class="org.springframework.web.flow.config.XMLFlowFactoryBean">
<property name="location" value="classpath:checkoutFlow.xml" />
</bean>


Listing 3

BeanFactory factory = ...
FlowExecutionManager mgr = (FlowExecutionManager)factory.getBean("mgrID");
//This assumes that a Flow Execution Manager is defined in spring's configuration file
mgr.setStorage(new HttpSessionFlowExecutionStorage());
//Use HTTP session to store flow execution state
Map parameters =  new HashMap();
parameters.put("_flowId", "CheckoutFlow");
Event event = new Event(source, eventId, parameters);
ViewDescriptor vd = mgr.onEvent(event);
...