Hypes and trends (such as Web 2.0) cause a change in the requirements for user interfaces every now and then. While a lot of frameworks are capable of meeting those changing requirements, it often means you as a developer need in-depth knowledge of web standards, such as XHTML and j#097;vascript. A framework like Apache MyFaces that hides all details of how the page is rendered at the client and at the same time offers a rich set of tools and building blocks could save you a lot of time, not only when you’re building a brand new application but also when you’re adapting an existing application to meet new user interface requirements. Hypes and trends (such as Web 2.0) cause a change in the requirements for user interfaces every now and then. While a lot of frameworks are capable of meeting those changing requirements, it often means you as a developer need in-depth knowledge of web standards, such as XHTML and JavaScript. A framework like Apache MyFaces that hides all details of how the page is rendered at the client and at the same time offers a rich set of tools and building blocks could save you a lot of time, not only when you're building a brand new application but also when you're adapting an existing application to meet new user interface requirements. This book will teach you everything you need to know to build appealing web interfaces with Apache MyFaces and maintain your code in a pragmatic way. It describes all the steps that are involved in building a user interface with Apache MyFaces. This includes building templates and composition components with Facelets, using all sorts of specialized components from the Tomahawk, Trinidad, and Tobago component sets and adding validation with MyFaces Extensions Validator. The book uses a step-by-step approach and contains a lot of tips based on experience of the MyFaces libraries in real-world projects. Throughout the book an example scenario is used to work towards a fully functional application when the book is finished. This step-by-step guide will help you to build a fully functional and powerful application. This book will teach you everything you need to know in order to build appealing web interfaces with Apache MyFaces in a pragmatic way. What you will learn from this book : - Create appealing and easy-to-use templates with Facelets - Assure reusability of your code by constructing composition components - Build consistent looking and usable pages using Trinidad components - Extend your JSF standard by using Tomahawk components - Enhance your web application by enabling AJAX functionality in your JSF application without writing JavaScript code - Create dynamic applications that fit the corporate style and color scheme of your company by using the extensive skinning capabilities of Trinidad - Prevent the duplication of validation rules by adding EJB3 annotation-based validation with ExtVal - Optimize your JSF application in terms of performance and page size **Approach** The book is written as a step-by-step, example-driven tutorial designed to be worked through step by step working on the example code as you learn. A fun example scenario is used throughout the book and of course all source code is available to download from the author's web site. The book is packed with tips and tricks, based on experience with MyFaces in real-life projects. **Who this book is written for** This book is intended for Java developers who want to develop web frontends for their enterprise applications using Apache MyFaces as JSF implementation. Some basic knowledge of JSF is expected. In Detail Hypes and trends (such as Web 2.0) cause a change in the requirements for user interfaces every now and then. While a lot of frameworks are capable of meeting those changing requirements, it often means you as a developer need in-depth knowledge of web standards, such as XHTML and JavaScript. A framework like Apache MyFaces that hides all details of how the page is rendered at the client and at the same time offers a rich set of tools and building blocks could save you a lot of time, not only when you're building a brand new application but also when you're adapting an existing application to meet new user interface requirements. This book will teach you everything you need to know to build appealing web interfaces with Apache MyFaces and maintain your code in a pragmatic way. It describes all the steps that are involved in building a user interface with Apache MyFaces. This includes building templates and composition components with Facelets, using all sorts of specialized components from the Tomahawk, Trinidad, and Tobago component sets and adding validation with MyFaces Extensions Validator. The book uses a step-by-step approach and contains a lot of tips based on experience of the MyFaces libraries in real-world projects. Throughout the book an example scenario is used to work towards a fully functional application when the book is finished. This step-by-step guide will help you to build a fully functional and powerful application. This book will teach you everything you need to know in order to build appealing web interfaces with Apache MyFaces in a pragmatic way. Approach The book is written as a step-by-step, example-driven tutorial designed to be worked through step by step working on the example code as you learn. A fun example scenario is used throughout the book and of course all source code is available to download from the author's web site. The book is packed with tips and tricks, based on experience with MyFaces in real-life projects. Who this book is for This book is intended for Java developers who want to develop web frontends for their enterprise applications using Apache MyFaces as JSF implementation. Some basic knowledge of JSF is expected. Introduction Introducing Apache MyFaces Subprojects of Apache MyFaces Summary Getting Started Configuring the development environment Application server and configuration files Introduction to the example case Summary Facelets Why Facelets? Setting a Facelets project Templating with Facelets Creating and using composition components Using static functions Using inline texts Facelets tags overview Summary Tomahawk Setting Tomahawk Using extended versions of standard components Extended components Creating basic data tables Using advanced data table features loading files Working with dates and calendars Extra validators Summary Trinidad—the Basics Setting Trinidad Creating data tables Creating input and edit forms File loading Using Trinidad’s hierarchical navigation features Creating layouts for our pages Summary Advanced Trinidad Data visualization Passing on data with page flows Using AJAX and Partial Page Rendering Creating dialogs Client-side validation and conversion Summary Trinidad Skinning and Tuning Skinning Tuning Trinidad Summary Integrating with the Backend The Model-View-Controller architecture Setting the Java EE application structure Preparing a database environment Implementing the Model Using the service facade in the View layer Limitations and problems Summary MyFaces Orchestra Setting Orchestra Using the Orchestra ViewController Setting Orchestra conversations Generating forms with DynaForm Summary Extensions Validator Setting ExtVal Basic usage Complementing JPA annotations Applying cross validation Creating custom error messages Creating our own validation strategy Extending ExtVal with add-ons Using Bean Validation Summary Best Practices Preventing direct access to page definitions Using container-managed security with JSF Component bindings Keeping the state of a component Summary XHTML Entities Trinidad Tags Trinidad Text Keys Default JSF Error Messages ExtVal Default Error Messages Index Annotation. Hypes and trends (such as Web 2.0) cause a change in the requirements for user interfaces every now and then. While a lot of frameworks are capable of meeting those changing requirements, it often means you as a developer need in-depth knowledge of web standards, such as XHTML and JavaScript. A framework like Apache MyFaces that hides all details of how the page is rendered at the client and at the same time offers a rich set of tools and building blocks could save you a lot of time, not only when you're building a brand new application but also when you're adapting an existing application to meet new user interface requirements. This book will teach you everything you need to know to build appealing web interfaces with Apache MyFaces and maintain your code in a pragmatic way. It describes all the steps that are involved in building a user interface with Apache MyFaces. This includes building templates and composition components with Facelets, using all sorts of specialized components from the Tomahawk and Trinidad component sets and adding validation with MyFaces Extensions Validator. The book uses a step-by-step approach and contains a lot of tips based on experience of the MyFaces libraries in real-world projects. Throughout the book an example scenario is used to work towards a fully functional application when the book is finished. This step-by-step guide will help you to build a fully functional and powerful application