Apache MyFaces

JavaServer(tm) Faces (JSF) is a web application framework specification (JSR252, JSR127, JSR314) based around the model-view-controller pattern.

The Apache MyFaces project provides both an implementation of the JSF specification ("MyFaces Core"), and a set of add-on libraries that work on any implementation of the specification (including, of course, Apache MyFaces Core).

JSF supports the development of highly interactive applications where the system interacting with the user is separated from the system that contains the presentation logic; web-browser/web-server is one example. JSF has a "component-based" architecture, and therefore is more like "Swing for the web" than an HTML publishing framework. People familiar with Swing, Gnome, KDE, MFC, VisualBasic, Delphi etc should feel right at home developing JSF applications.

JSF is quite similar to the Tapestry framework as that is also a component-based framework. JSF can also fill the same "niche" as the well-known Struts framework, but has a rather different approach.

The Sun JavaServer Faces(tm) Page has information about the JSF-1.2 (and older JSF-1.1) specification. They also provide a useful Tutorial there. MyFaces Core provides a 100% compliant implementation of these specifications.

The Apache MyFaces family of projects includes the following libraries that can be used with any JSF implementation to add extra features and flexibility:

You can find further information about the MyFaces subprojects on the official site at http://myfaces.apache.org.

See the MyFaces Tomahawk and Sandbox examples in action:

See a MyFaces real world use case at JavaWorld

See the dojoFacelets in action:

If your company uses MyFaces, please add your company here: Companies_Using_MyFaces.


Using MyFaces Core

JSF and MyFaces Core in Theory: The Concepts

JSF and MyFaces Core in Practice: The HowTo's

Tracing and Debugging

Working with Radio Buttons

Working with JavaScript and JSF

Conversion and Validation

Managing Errors/Infos/Warnings


Configuration of special features

Properly use those extended components

JSF and MyFaces in Practice: Specialized Trails

Creating Custom Components


JSF and MyFaces: The Reference

Sibling projects

MyFaces Development and Project Management

MyFaces Development

MyFaces Project Management

MyFaces Project Infrastructure

Community and Context

Talk, talk, talk

With a little help of our friends

Random Musings


On the web

Tomahawk Documentation

Tomahawk HowTo's

Working with tables

Working with TabbedPanes

MyFaces Core 1.1.x additional documentation

Using MyFaces Core

Migration from previous versions


MyFaces Project Management