This week's book giveaway is in the OCAJP 8 forum. We're giving away four copies of OCA Java SE 8 Programmer I Study Guide and have Edward Finegan & Robert Liguori 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.