1.0
1.2
ui
http://java.sun.com/jsf/facelets
component
JSP
The component tag and the composition tag behave exactly the same, except the component tag will insert a new UIComponent instance into the tree as the root of all the child components/fragments it has.
id
false
false
A unique id may be provided, otherwise Facelets will automatically assign one under the same logic it uses for all UIComponents.
binding
false
false
This binding attribute is used the same as with any other UIComponent such that it allows you to reference them as a property of a JavaBean. If that target property did not have a UIComponent instance assigned already, JavaServer Faces will lazily create an instance for you and set it on your JavaBean before continuing with building the tree.
composition
JSP
template
false
false
The resolvable URI of the template to use. The content within the composition tag will be used in populating the template specified.
debug
JSP
The debug tag will capture the component tree and variables when it is encoded, storing the data for retrieval later. You may launch the debug window at any time from your browser by pressing 'CTRL' + 'SHIFT' + 'D' (by default). The debug tag doesn't need to be used with the facelet.DEVELOPMENT parameter. The best place to put this tag is in your site's main template where it can be enabled/disabled across your whole application. If your application uses multiple windows, you might want to assign different hot keys to each one.
hotkey
false
false
The hot key to use in combination with 'CTRL' + 'SHIFT' to launch the debug window. By default, when the debug tag is used, you may launch the debug window with 'CTRL' + 'SHIFT' + 'D'. This value cannot be an EL expression.
rendered
false
false
Creating debug output on every request adds some overhead, so you can use the UIComponent rendered property to turn debugging on or off based on some expression.
decorate
JSP
The decorate tag acts the same as a composition tag, but it will not trim everything outside of it. This is useful in cases where you have a list of items in a document, which you would like to be decorated or framed. The sum of it all is that you can take any element in the document and decorate it with some external logic as provided by the template.
template
true
false
The resolvable URI of the template to use. The content within the decorate tag will be used in populating the template specified.
define
JSP
The define tag can be used within tags that allow templating. This includes composition and decorate tags.
name
true
false
The literal name for this definition. This name will match up with a <ui:insert/> tag in a target template.
fragment
JSP
Just like composition has decorate as a non-trimming version of the same behavior, component has fragment. This allows you to logically insert a UIComponent into the tree and possibly bind this fragment to a JavaBean property or Map for management. The fragment tag was also added to Facelets to get around some of the optimizations used in handling text within your document. If you are using components such as <f:panelGrid/>, which renders its children, you may want more control over the building process that Facelets does and using a fragment tag will help guarantee parent/child relationships for you.
id
false
false
A unique id may be provided, otherwise Facelets will automatically assign one under the same logic it uses for all UIComponents.
binding
false
false
This binding attribute is used the same as with any other UIComponent such that it allows you to reference them as a property of a JavaBean. If that target property did not have a UIComponent instance assigned already, JavaServer Faces will lazily create an instance for you and set it on your JavaBean before continuing with building the tree.
include
JSP
The include tag can point at any Facelet which might use the composition tag, component tag, or simply be straight XHTML/XML. It should be noted that the src path does allow relative path names, but they will always be resolved against the original Facelet requested. The include tag can be used in conjunction with multiple <ui:param/> tags to pass EL expressions/values to the target page.
src
true
false
A literal or EL expression that specifies the target Facelet that you would like to include into your document.
insert
JSP
The insert tag is used within your templates to declare spots of replacable data.
name
false
false
The optional name attribute matches the associated <ui:define/> tag in this template's client. If no name is specified, it's expected that the whole template client will be inserted.
param
JSP
name
true
false
The name of the variable to pass to the included Facelet.
value
true
false
The literal or EL expression value to assign to the named variable.
remove
JSP
The remove tag does not have any attributes and is used to remove chunks of XML content from a Facelet at compilation time. The remove tag is often used in conjunction with the jsfc feature.
repeat
JSP
The repeat tag should be used in almost all cases instead of the c:forEach to iterate over content with JSF. The repeat tag is often used in conjunction with the jsfc feature.