Sell Item (uses flow scope storage for 'undo' back button behavior)
Sell Item 'Conversation' Alternate (uses conversation scope storage for 'preserve' back button behavior)
Sell Item 'Simple' Alternate (a single top-level flow with no subflow)
This Spring Web Flow sample application implements the example application
discussed in the article
Use continuations to develop complex Web applications. It illustrates the following concepts:
- Using the "_flowId" request parameter to let the view tell the web flow controller which flow needs to be started.
- Implementing a wizard using web flows.
-
Use of the FormAction to perform form processing, including the FormAction's "setupForm" method to install custom
property editors for formatting text field values (shipDate).
- Using continuations to make the flow completely stable, no matter how browser navigation buttons are used.
-
Using "conversation invalidation after completion" to prevent duplicate submits of the same sale
while taking advantage of continuations to allow back button usage while the application transaction is in process.
- "Always redirect on pause" to benefit from the POST+REDIRECT+GET pattern with no special coding.
- Using OGNL based conditional expressions.
- Use of subflows to compose a multi-step business process from independently reusable modules.