Table of Contents
Preface
Chapter 1: Introduction
Chapter 2: Setup for Spring Web Flow 2
Chapter 3: The Basics of Spring Web Flow 2
Chapter 4: Spring Faces
Chapter 5: Mastering Spring Web Flow
Chapter 6: Testing Spring Web Flow Applications
Chapter 7: Security
Appendix A: flow.trac:The Model for the Examples
Appendix B: Running on the SpringSource dm Server
Index
- Chapter 1: Introduction
- Three cornerstones: Spring, Spring MVC, and Spring Web Flow
- Spring Framework
- Spring MVC
- Spring Web Flow
- What is Spring Web Flow
- The elements of Spring Web Flow: flow, view, and conversation
- Flow
- View
- Conversation
- The Spring Web Flow elements: an example
- The elements of Spring Web Flow: flow, view, and conversation
- The new major release: Spring Web Flow 2.0
- Spring Web Flow
- Spring Faces
- Spring JavaScript
- Spring Binding
- Introduction to a new version
- Automatic model binding
- Support for a new expression language
- Flash scope is now a real flash scope
- Spring Faces
- Flow managed persistence
- External redirects
- Summary
- Three cornerstones: Spring, Spring MVC, and Spring Web Flow
- Chapter 2: Setup for Spring Web Flow 2
- Installation of Spring Web Flow 2
- Inside the distribution
- The examples inside the distribution
- Building the examples from the source code
- Installing the examples on your local machine
- Support for developers
- Build systems
- Ant
- Maven
- IDE
- Eclipse and Spring IDE
- NetBeans
- Build systems
- A sample for a quick start
- Overview over the example
- The basics
- Building the service and database layer
- The web.xml file
- Dependencies
- Summary
- Installation of Spring Web Flow 2
- Chapter 3: The Basics of Spring Web Flow 2
- Elements of a flow
- The entry point to the flow
- Section head
- Section data
- The metadata of a flow
- Section input
- Programming in a flow
- The scopes
- The flow instance variables
- Assign a value to a scope variable
- Access the value of a scope
- Inputs
- The states
- The start-state
- The action-state and execution of business logic
- The view-state
- The decision-state
- The subflow-state
- The end-state
- The exit point
- Section footer
- global-transitions: global handling of events
- on-end: execution of actions at the end of the flow
- output: output of the flow
- exception-handler: exceptions between the execution of a flow
- bean-import: declaring beans for a flow
- Internals of building a flow
- Configuration
- FlowRegistry
- FlowExecutor
- FlowExecutor Listeners
- Internals of the Webflow Configuration
- Inheritance inside a flow definition
- Inheritance for flows
- Inheritance for states
- Merge or no merge
- The complete flow for the example
- Summary
- Elements of a flow
- Chapter 4: Spring Faces
- Enabling Spring Faces support
- Inside the Facelets technology
- The ResourceServlet
- Internals of the ResourceServlet
- Configuration of the application context
- Using Spring Faces
- Overview of all tags of the Spring Faces tag library
- A complete example
- Creating the input page
- Handling of errors
- Reflecting the actions of the buttons into the flow definition file
- Showing the results
- Integration with other JavaServer Faces component libraries
- Integration with JBoss RichFaces
- Integration with Apache MyFaces Trinidad
- Summary
- Enabling Spring Faces support
- Chapter 5: Mastering Spring Web Flow
- Subflows
- Spring JavaScript
- What is AJAX?
- Installing Spring JavaScript
- The first example with Spring JavaScript
- Apache Tiles integration
- Tiles and AJAX
- The Web Flow configuration
- flow
- attribute
- secured
- persistence-context
- var
- input
- output
- actionTypes
- evaluate
- render
- set
- on-start
- on-end
- transition
- global-transitions
- exception-handler
- bean-import
- action-state
- view-state
- decision-state
- subflow-state
- end-state
- Summary
- Chapter 6: Testing Spring Web Flow Applications
- How to test a Spring Web Flow application
- The first example
- A look into the source code
- First steps in testing
- Testing Persistent Contexts
- A short introduction to EasyMock
- Testing subflows
- More testing with EasyMock
- Summary
- How to test a Spring Web Flow application
- Chapter 7: Security
- Introducing Spring Security
- Installing Spring Security
- Basic authentication with Spring Security
- Setting up your web.xml
- Advanced Spring Security configuration
- UserDetails
- Using database access to retrieve users
- Securing parts of a web page
- Securing method invocations
- Using Spring Security with Spring Web Flow
- Changing the user's password
- Summary
- Appendix A: flow.trac:The Model for the Examples
- flow.trac
- Item
- User
- Role
- Project
- Issue
- Type
- Priority
- Comment
- Attachment
- Summary
- flow.trac
- Appendix B: Running on the SpringSource dm Server
- Introduction to the SpringSource dm Server
- Installation of the SpringSource dm Server
- Migrating an application
- Summary


