Book Image

Apache MyFaces 1.2 Web Application Development

Book Image

Apache MyFaces 1.2 Web Application Development

Overview of this book

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.
Table of Contents (22 chapters)
Apache MyFaces 1.2
Credits
About the Author
Acknowledgement
About the Reviewers
Preface
Trinidad Tags
Trinidad Text Keys
Default JSF Error Messages
ExtVal Default Error Messages

Using static functions


Another powerful feature of Facelets is the possibility to create static functions. Static functions let you expand the possibilities of the JSF Expression Language. You can, in fact, configure any static Java function that is on the classpath to be available as a static function in the Expression Language. This is fairly simple to do.

Let's assume that the CEO of Monsters, Inc—Mr. Waternoose—wants to add an inspirational quote of the day to the login page of the MIAS system. Let’s see how we can implement this by using the Facelets static function feature. First, we need a static method that returns a quote. As we want to display the author of the quote as well, let’s create two functions, as follows:

package inc.monsters.mias;
public class FaceletsFunctions {
private static Quote lastQuote;
private static Quotes quotesList;
private static Quotes getQuotes() {
if (quotesList == null) {
// fill the quotes list from a file or something
}
return quotesList;
}
public static...