JSF 2.0 Cookbook
Buy it now
One Minute Bottom Line
|Very valuable reference book for the novice and also advanced JSF developer which helps them dealing common and less-common problems. It also stimulates experienced user to try out one of many presented 3rd party frameworks so that the typical tasks might be solved in another and probably better way.|
ReviewThe JSF 2.0 Cookbook is exactly what the name says - a cookbook. It will not teach you the JSF 2.0, rather provides you best practices (called recipes) for many typical tasks which occur when developing with JSF. The title of each recipe describes the problem and the recipe itself contains the section "How to do it" with the demo solution and also sections "How it works" with in-deep details as well as "There's more" with even more details and "See also" with relevant links. This allows the user not only to copy-and-paste the recipe as it is, but to use it as a good starting point in order to find out the best suitable solution for his particular problem. The user is animated to find out more and in this way the book is also a teaching book.
The recipes are thematically collected in following chapters:
- Using Standard and Custom Converters in JSF" (11 recipes)
- Using Standard and Custom Validators" in JSF (10 recipes)
- File Management (8 recipes)
- Security (4 recipes)
- Custom Components (12 recipes)
- AJX in JSF (7 recipes)
- Internationalization and Localization (8 recipes)
- JSF, Images, CSS and JS (16 recipes)
- JSF - Managing and Testing (6 recipes)
- Facelets (6 recipes)
- JSF 2.0 Features (7 recipes)
- Mixing JSF with Other Technologies (6 recipes)
- Configuring JSF-related Technologies (7 recipes)
This organization makes it very easy for the beginners and even slight advanced users to find the proper recipe for nearly all kinds of problems. Especially margin topics which are often not covered in other textbooks are addressed. Although several chapters are too short to cover the whole topic, they should just show you the proper direction (as also the author claims). Nevertheless, the author is aware of nearly all areas which cause the typical problems in the JSF applications - so will the reader be.
Very valuable is the use of many other frameworks and technologies besides of core JSF - not only the well-known frameworks like Apache MyFaces family or RichFaces, but also e.g. Pretty Faces, Dojo, Dynamic Faces, Prime Faces and many others - altogether 17 technologies! Especially the use of JSFUnit shows, that the testing is as important as coding. The book can be used as a starter to find out which technology suits the bests and find out more then. Even if some 3rd party frameworks are used in one recipe only, the set-up is always described, so that the fear of touch is taken away and the reader may continue to try the complete framework on his own. This aspect is useful also for the advanced users which are animated to try out something new and probably better as they have done until reading this book.
I would recommend the book to every JSF developer as it's organization makes it very easy to be used as a reference book. It stimulates to solve common and less-commons problems in a non-obvious or alternative ways using some ready-made solution provided by one of the presented 3rd party framework. The book is written in a very clear language so that also the people which are not native speakers can read it without difficulties.
However, I would suggest to put a slightly more detailed problem description which is solved by this recipe as sometimes there are more recipes for similar problems and the novice user might be confused not knowing which one suits best. The value of the book could also be increased significantly if the related recipes would be compared - for a novice having a problem it is sometimes difficult to choose the right one among those addressing similar but not same problem.
In addition I would suggest to change the text formatting and keep just recipe headers highlighted as if both recipe headers and recipe sections are highlighted it is somehow difficult to keep the track where one recipe ends and another begins. It would also be helpful if the recipes would be numbered.
Moreover, several recipes are old and target JSF 1.2 or JSP. These should be updated and migrated to Facelets and JSP with JSF 2.0 is deprecated. This is in my opinion the main handicap of this otherwise very good-written book.
(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)