posted 9 years ago
I'd also add the two are not mutually exclusive. JSF's sweet spot is its server-side UI component framework, and I'd say Struts' sweet spot is its MVC controller. With the Struts 2 JSF plugin, you can use Struts 2 to handle the request process, even use Struts 2 actions, but then hand off to JSF to render the HTML to the browser. Spring is creating a JSF integration library for Spring MVC that takes a similar approach.