Jakub is a Java EE developer since 2005 and occasionally a project manager, working currently with Iterate AS. He's highly interested in developer productivity (and tools like Maven and AOP/AspectJ), web frameworks, Java portals, testing and performance and works a lot with IBM technologies. A native to Czech Republic, he lives now in Oslo, Norway. Jakub is a DZone MVB and is not an employee of DZone and has posted 155 posts at DZone. You can read more from them at their website. View Full User Profile

Experiencing JSF 1.2: Good but Needs a Framework

  • submit to reddit

I’ve got an opportunity to experiment with JSF 1.2 while preparing a lecture about DbUnit Express and test webapp for JSF EL Validator. Same as JSF 1.1, it’s much easier to use than the low level, too HTTP-ish servlets but still it is not flexible enough and usable per se, it is absolutely necessary to use a decent framework (such as Rich or ICE Faces) to be really productive. Automatic value and method binding is cool but not sufficient.

For example forcing dataTable to get filtered when you change selection in a select list was rather non-trivial and making the table sortable by every column required quite lot of work and if I wanted to have that for every table, I’d need to develop framework of my own. Of course with various JSF component libraries you get such things out of the box but still JSF 1.2 is little to rigid, for example methods that could take parameters (which came in JSF 2.0) would make things a lot simpler.

I’ve also considered using business objects – such as EJBs – directly as JSF backing beans but I feel that in this version it might be suitable only for small applications (where the overhead of concern separation doesn’t pay off) or  some special ones. The problem is that even though backing beans are POJOs, JSF still forces them to a rather specific shape, which should be confined to the web layer  – such as having action methods that take no parameters and return an indication of which view to dislay next.

I would very much like to experiment with and compare other interesting frameworks such as Play!, Grails, and GWT (and given that I’ve finally got to learning Clojure, perhaps also Compojure), though I likely won’t have time for that. If I do, you will come to know :-)


From http://theholyjava.wordpress.com/2011/07/30/experiencing-jsf-1-2-good-but-needs-a-framework/

Published at DZone with permission of Jakub Holý, author and DZone MVB.

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)


Christian Beute... replied on Thu, 2011/08/04 - 1:52am

After several JSF based projects:

I see virtually no differences between JSF 1.1 and 1.2. 1.2 is just a small Bugfix. JSF 2.0 is the next step forward.

That being said, I am currently perfectly happy using Facelets+JSF 1.2 and Tomahawk and Spring Webflow to circumvent most of the JSF problems. Others had the same success using JBoss Seam.

Icefaces. Trinidad and Richfaces both had  issues with integrating AJAX into JSF.  They allways felt like a "hack around JSF". Hopefully JSF 2.0 has solved most of the architectural problems integrating AJAX into JSF.

Right now, Primefaces and JSF 2.0 would be the corner of the JSF ecosystem I'd like to take test-run.


Shay Shmeltzer replied on Thu, 2011/08/04 - 12:55pm

Indeed if you get a good framework that works with JSF you can become much more productive. Check out for example this short video. and see how Oracle ADF basically addresses the issues that you raised about having a more responsive table, a change in one part of the screen effect that table, and binding EJB/JPA backend to the UI.

Henk De Boer replied on Sat, 2011/08/06 - 8:56am

Nice! I'm looking forward to an article about experiencing Java 1.2 and Spring 1.0. Maybe you can also write something about experiencing Mac OS X 10.0 and perhaps about Windows 2000? Keep up the good work! :P

George Jiang replied on Tue, 2011/08/09 - 6:15am


Would have been a good article FIVE years ago :-)


Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.