It’s not difficult to find forums, blog postings and other resources from people who are just starting with JSF and are dissatisfied with the framework to say the least. Most people who are starting with JSF are coming from JSP, Struts, or a similar built-in-house framework. When they start evaluating JSF, they bring the same style and development approach to JSF that they used with JSP and Struts. This is exactly where all the problems start.
You can’t take that approach and use it with JSF. JSF provides a completely different paradigm to Web development â€“ the user interface is development out of UI components. It’s very different from what people are used to doing with JSP and Struts. So when they try to do simple things in a JSP-like way in JSF, they fail and get frustrated. You might hear “but I could do this in JSP in about 5 minutes”. Of course you could, but JSP is really not more than mixing Java and HTML. JSP provides so little abstraction that you can do basically anything â€“ even if in most cases it isn’t done correctly. But, the key is that it was still accomplished one way or another.
This approach simply doesn’t work anymore in JSF. Before you become dissatisfied with JSF, it’s important to spend at least some time learning the framework and understanding how it works before actually evaluating it for a project. Put your JSP or Struts approach to the side for a moment and learn how to build Web applications using UI components. I promise you, you will have much more success with JSF this way.