Features Struts JSF
Struts isn’t client device independence Faces is client device independence
Struts tags aren’t as well suited to complex widgets such as trees and tab panels. Faces supports
Struts do not support ‘code behind files’ concept. Faces supports ‘code behind files’ concept.
Struts form Beans can span pages. Faces use a cleaner approach in complex applications.
Struts DynaActionForm instances can be authored automatically. No support in the JSF framework to author backing beans automatically.
Request Processing and Navigation Struts uses the returned ActionForward instance. JSF uses logical outcomes from a java method to feed into the navigation rule base.
Model Tier access Not Supported JSF uses the ValueBinding API.
Struts creates form beans. DynaActionForms enables to pre-configure the initial properties of the form. JSF has a much richer bean creation story.
Struts uses commons-beanutils for bean hierarchy navigation
Component Event Struts has no notion of components but the struts-faces integration library allows you to use the JSF component model, and keep your Struts based back end logic.
It has no notion of component state. Faces have an excellent state management strategy in saving the state on the client or the server.
Struts has no event model on web. Faces brings a JavaBeans like event model to the web.
Conversion and Validation Both support type Conversion Faces is more powerful
Struts Action class is tightly coupled to ActionServlet, can call its methods. JSF invoke FacesServlet

Leave a Reply