Component Class Categories

The primary JSF component classes implement render-independent behavior and must be combined with a renderer that knows how to represent them in a particular markup language, such as one of the renderers in the standard HTML render kit. Figure C-1 shows all render-independent component classes.

Render-independent component classes
Figure C-1. Render-independent component classes

Each component class belongs to a component family, which identifies the basic nature of a component, for example, that it’s an output component or a command component. More than one component class may belong to the same family, e.g., both the base class and its subclasses, which specialize the behavior of the base class. All standard component family names starts with a javax.faces prefix followed by descriptive name, e.g., javax.faces.Output for the javax.faces.component.UIOutput class. A component instance is associated with a renderer type that may be set programmatically by the developer. The renderer type tells in general terms how to represent the component, e.g., as a link or a button. The standard renderer type IDs also have a javax.faces prefix followed by a descriptive name, e.g., javax.faces.Link for a link renderer.

The specific renderer class to use for a component is determined by the combination of the renderer type it’s configured to use and the family it belongs to. This makes it possible to use the ...

Get JavaServer Faces now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.