webflow
Purpose
The webflow plug-in sets up Grails' support for Spring WebflowExamples
An example web flow:class BookController {
…
def shoppingCartFlow = {
showCart {
on("checkout").to "enterPersonalDetails"
on("continueShopping").to "displayCatalogue"
}
…
displayCatalogue {
redirect(controller:"catalogue", action:"show")
}
displayInvoice()
}
}Description
Refer to the section on Web Flow in the Grails user guide which details how Grails' web flow support works.Configured Spring Beans:
conversationManager - An instance of the org.springframework.webflow.conversation.impl.SessionBindingConversationManager that manages conversations in the session.
executionListenerLoader - A Web Flow org.springframework.webflow.execution.factory.StaticFlowExecutionListenerLoader that uses the hibernateConversationListener bean with flow execution events to manage the Hibernate session.
flowBuilderServices - An instance of the org.springframework.webflow.engine.builder.support.FlowBuilderServices class used to help the Flow engine locate services.
flowExecutor - An instance of the org.codehaus.groovy.grails.webflow.execution.GrailsFlowExecutorImpl that knows how to execute Grails flows based on flow execution keys.
flowExecutionFactory - An instance of the org.springframework.webflow.engine.impl.FlowExecutionImplFactory that constructs flow executions.
flowExecutionSnapshotFactory - An instance of the org.springframework.webflow.execution.repository.snapshot.SerializedFlowExecutionSnapshotFactory class that is used to create flow snapshots that can be stored for resumption later on.
flowExecutionRepository - An instance of the org.springframework.webflow.execution.repository.impl.DefaultFlowExecutionRepository class that is used to store flows.
flowRegistry - An instance of the org.codehaus.groovy.grails.webflow.engine.builder.ControllerFlowRegistry class that stores persisted flows.
flowScopeRegistrar - An instance of the Spring Web Flow org.springframework.webflow.config.scope.ScopeRegistrar class which registers the flow scopes with the ApplicationContext so that services can be scoped using flow scopes such as flow, conversation and flash.
hibernateConversationListener - An instance of the Web Flow org.codehaus.groovy.grails.webflow.persistence.SessionAwareHibernateFlowExecutionListener class that manages the Hibernate session for the scope of a flow, allowing atomic use of flows.
viewFactoryCreator - An instance of the org.springframework.webflow.mvc.builder.MvcViewFactoryCreator class used to construct views