Facelets supports two tags that function as components: the aptly named
ui:component and its nontrimming counterpart,
ui:fragment. These tags are components because both insert a new JSF
UIComponent object into the component tree, which becomes the root for all of the tag's child elements. Additionally, both tags support two of the Faces common properties,
binding. These tags offer a simple mechanism for creating custom components. Facelets and JSF handle the wiring and rendering—all the developer has to do is create a Facelets view using these tags. This chapter describes these tags and their usage, and demonstrates how to use them with some examples.
These two tags are a matched set like
ui:component tag trims all content outside of itself, and the
ui:fragment tag has the same behavior, except it is nontrimming.
This tag behaves much like the
ui:composition tag. The difference is that the
ui:component tag inserts a new
UIComponent instance into the component tree as the root of all of its child elements. The
ui:component tag supports both the
binding attributes, which perform their typical functions. The
id attribute can be used to assign this component an identifier. If you do not assign an identifier, Faces will. The
binding attribute can be used to bind to any of the children ...