JSF is giving opportunity to make the code much more object oriented in web technology. While working with Struts, I used to feel like I am working with data and behavior in two different classes i.e. Form Beans and Action classes. It gives you a feel of you are doing the code in traditional procedural programming languages
With JSF, managed beans concept is removing the extra class and giving flexibility to write the data and behavior in same class.