A GUI component framework.
A flexible model for rendering components in different kinds of HTML or different markup languages and technologies. A Renderer object generates the markup to render the component and converts the data stored in a model object to types that can be represented in a view.
A standard RenderKit for generating HTML/4.01 markup.
The following features support the GUI components:
Data conversion between model objects and components
Managed model object creation
Page navigation configuration
All this functionality is available using standard Java APIs and XML-based configuration files.
In the Java EE 6 platform, new features of JavaServer Faces include the following:
The ability to use annotations instead of a configuration file to specify managed beans
Facelets, a display technology that replaces JavaServer Pages (JSP) technology using XHTML files