12.2. Spring-centric Integration Approach

Spring Faces combines the strengths of JSF, its UI component model, with the strengths of Spring, its controller and configuration model. This brings you all the strengths of JSF without any of the weaknesses.

Spring Faces provides a powerful supplement to a number of the standard JSF facilities, including:

  1. managed bean facility
  2. scope management
  3. event handling
  4. navigation rules
  5. easy modularization and packaging of views
  6. cleaner URLs
  7. model-level validation
  8. client-side validation and UI enhancement
  9. Ajax partial page updates and full navigation
  10. progressive enhancement and graceful degradation

Using these features will significantly reduce the amount of configuration required in faces-config.xml while providing a cleaner separation between the view and controller layer and better modularization of your application's functional responsibilities. These use of these features are outlined in the sections to follow. As the majority of these features build on the flow definition language of Spring Web Flow, it is assumed that you have an understanding of the foundations presented in Defining Flows .