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:
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 .