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.