This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
Ajax in JSF is a different story. You have to implement your own ViewHandler whenever you want to let Ajax play a role in the JSF lifecycle. Otherwise you'll have to do a lot of "nasty hacks" in the client side because of JSF's way of state management of the component tree.
There are component libraries out which already have done the ViewHandler work for you, like RichFaces and IceFaces. They also provides ready-to-use Ajaxical JSF components. I can recommend you RichFaces.