One of the things I liked about the book is that it starts off with a nice, light overview of JSF. Introductions to JSF usually seem to get mired in detailed discussions of the JSF lifecycle. While that’s important to know, it can also be very overwhelming for new users. I think this introduction did a credible job while avoiding that pitfall. The first two chapters, in addition to this introduction, covered the standard component set as well as the de facto standard Facelets.
The next few chapters cover some of the more prominent components of Tomahawk, Trinidad, ICEfaces, Seam, and RichFaces. Overall, I found the introduction to be fairly well done, though I had some minor quibbles. The biggest was the apparent mismatch between the code in the book and the images to support it. In several places, it seemed the screen shot simply didn’t match the code sample, which is a bit confusing until I finally decided it was just the wrong graphic. The Seam chapter seemed (no pun intended ; ) a bit strange, as the Ajax4Jsf discussion probably should have been in the RichFaces chapter, and the conversation scope isn’t technically a component, but it would be pedantic of me to point that out. :)
The book closes with a brief introduction to the new features in JSF 2. I thought this was pretty well done and should whet the appetites of those who have not yet made the switch to the new spec.
Overall, I’d have to give the book, say, 3.5 out of 5 stars. Though not perfect, it’s a nice overview of the major JSF component sets. While you can find all that information somewhere on the web (which is true of just about everything in a tech book these days), JSF 1.2 Components provides this information in one place in a fairly easy to read setting. Those with a lot of experience with third party component sets may not get much out of the book, but beginning to intermediate JSF users should find a good deal of value in it.
1 I realize that, in the context of a discussion of a book about JSF 1.2, that I linked to two texts discussing JSF 2.0. This is intentional. Core JSF 2ed does not seem to be available any longer (at least at the time of writing this, it was unavailable on Amazon), and it makes little sense to buy older versions of the book. Both books cover the 1.2 and 2.0 versions of the spec, and The Complete Reference is especially good about noting the differences in the two specs. I have both books, and have read both of them (Note: I work with Ed Burns and was a reviewer for David Geary), and can comfortably recommend both books. If you need a fuller treatment of JSF, as of now, these are the go-to books. You should buy at least one copy of each. :)