Apache MyFaces

JavaServer(tm) Faces (JSF) is an established web application framework standard (JSR127) that implements the MVC pattern.

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

JSF itself 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" rather 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 [http://jakarta.apache.org/tapestry Tapestry framework] as that is also a component-based framework. JSF can also fill the same "niche" as the well-known [http://jakarta.apache.org/struts/ Struts framework], but has a rather different approach.

The [http://java.sun.com/j2ee/javaserverfaces/ Sun JavaServer Faces(tm) Page] has information about the [http://www.jcp.org/en/jsr/detail?id=252 JSF-1.2] (and older [http://www.jcp.org/en/jsr/detail?id=127 JSF-1.1]) specification. They also provide a useful Tutorial there. MyFaces Core is a 100% compliant implementation of these standards.

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

If your company uses MyFaces, please add your company here: ["Companies Using MyFaces"].

FAQ

Using MyFaces

JSF and MyFaces in Theory: The Concepts

JSF and MyFaces in Praxis: The HowTo's

Working with tables

Tracing and Debugging

Working with TabbedPanes

Working with Radio Buttons

Working with JavaScript and JSF

Conversion and Validation

Managing Errors/Infos/Warnings

Backend

Configuration of special features

Properly use those extended components

JSF and MyFaces in Praxis: Specialized Trails

Creating Custom Components

Portlets

Migration from previous versions

misc

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

References

On the web