Core JavaServer faces - Geary, David (Prentice Hall, 2007)