Spring Web Flow (spring-webflow): This is the core module in Spring Web Flow; it
·
provides the infrastructure for managing flows and, for each flow, its conversation,
state, and views.
Spring Faces (spring-faces): Spring Web Flow provides first-class support for JSF,
·
and the supporting components are packaged within the Spring Faces module.
Starting from version 2.2, Spring Web Flow supports core JSF 2 features including
partial state saving, resource request and handling, Ajax support, and so on.
Spring Web Flow also integrates tightly with common JSF component libraries
including JBoss RichFaces (www.jboss.org/richfaces) and PrimeFaces
(www.primefaces.org).
Spring JavaScript (spring-js, spring-js-resources): The Spring JavaScript module
·
provides support for view development with JavaScript. For example, in the
rendered HTML view, JavaScript can be used for Ajax communication with servers
and partial view updates. Moreover, the Spring JavaScript Resources bundle
(spring-js-resources.jar) includes the Dojo Toolkit (a popular JavaScript library)
as well as the Spring-provided JavaScript library that supports integration with the
Dojo Toolkit.
Spring Binding (spring-binding): As its name implies, the Spring Binding module
·
is responsible for binding the view state to the underlying model. Starting from
version 2.1, Spring Web Flow uses Spring 3's type conversion and formatting
system in the process of binding. In addition, Spring Web Flow 2.3 also added
support for JSR-303 Bean Validation.
Spring Web Flow Features
Spring Web Flow is an extension to the MVC pattern; it provides support for developing flow-based
applications and supports more fine-grained bean scopes. The architecture of Spring Web Flow is built
around the following three main concepts:
Flow: A flow is a business process representing a use case. In Spring Web Flow, a
·
flow consists of a series of steps called states. Each state is typically presented to the
user within a view (there are also other states that are not view related; for example,
the decision state determines the next state of the flow depending on the runtime
condition). Within the view, user events occur that are handled by the state. These
events can trigger transitions to other states that result in view navigation within
the entire flow. Spring Web Flow provides a domain-specific language (DSL) that
can be used to implement very complex flows for your application.
View: The same as in the MVC pattern, a view is a user interface that presents the
·
state of the model to the user and provides user interaction with Ajax support and
partial view updates.
Conversation: In a web application, in terms of bean scopes, there are three types,
·
namely, request, session, and application. The request and session scopes are
used intensively for the presentation layer. However, in many web applications,
especially flow-based, the model beans should maintain their state across
multiple requests until the flow is finished. In this case, the request scope is not
enough. However, using session scope would be overkill, because the state would
be kept in the user's HttpSession for the entire session. To address this, Spring
Web Flow introduces the concept of a conversation, which holds the data until a
flow is completed. The main purpose of this is to avoid putting too much data into
Search WWH :
Custom Search
Previous Page
Spring Framework 3 Topic Index
Next Page
Spring Framework 3 Bookmarks
Home