(Quick Reference)
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