The <o:tree> allows the developers to have full control over the markup of a tree hierarchy by declaring the appropriate Faces components
or HTML elements in the markup. The <o:tree> does namely not render any HTML markup by itself.
The component value must point to a tree of data objects represented by a TreeModel instance, typically established via a ValueExpression.
During iterative processing over the nodes of tree in the tree model, the object for the current node is exposed as a request attribute under the key
specified by the var attribute. The node itself is exposed as a request attribute under the key specified by the varNode attribute.
The <o:tree> tag supports only child tags of type <o:treeNode>, representing parent tree nodes. There can be multiple
<o:treeNode> tags, each representing a separate parent tree node level, so that different markup could be declared for each tree node
level, if necessary. The <o:treeNode> tag in turn supports child tag <o:treeNodeItem> which represents each child of
the current parent tree node. The <o:treeNodeItem> in turn supports child tag <o:treeInsertChildren> which represents
the insertion point of the grand children.
Here is a basic usage example where each parent tree node level is treated the same way via a single <o:treeNode>:
<o:tree value="#{bean.treeModel}" var="item" varNode="node">
<o:treeNode>
<ul>
<o:treeNodeItem>
<li>
#{node.index} #{item.someProperty}
<o:treeInsertChildren />
</li>
</o:treeNodeItem>
</ul>
</o:treeNode>
</o:tree>
The <o:treeNode> represents the parent tree node. Within this component, the var attribute of the <o:tree>
will expose the parent tree node. Each of its children is processed by <o:treeNodeItem> on which the var attribute of the
<o:tree> in turn exposes each child of the parent tree node.
The optional level attribute can be used to specify for which tree node level as obtained by TreeModel#getLevel() the
<o:treeNode> should be rendered. The root tree node has level 0. If the level attribute is unspecified, then the
<o:treeNode> will be rendered for any tree node level which hasn't already a <o:treeNode level="x"> specified.
The <o:treeNodeItem> represents the child item of the parent tree note as represented by <o:treeNode>. Within this
component, the var attribute of the parent <o:tree> component will expose the child tree node.
Within <o:treeNodeItem> you can use <o:treeInsertChildren> to declare the place where to recursively render the
<o:treeNode> whereby the current child item is in turn interpreted as a parent tree node (i.e. where you'd like to insert the
grand-children).
The <o:treeInsertChildren> represents the insertion point for the grand children. This is in turn further interpreted as
<o:treeNode>.
| Info | Value |
|---|---|
| Component Type | org.omnifaces.component.tree.Tree |
| Handler Class | None |
| Renderer Type | None |
| Description | None |
| Name | Required | Type | Description |
|---|---|---|---|
binding | false | jakarta.el.ValueExpression
(must evaluate to jakarta.faces.component.UIComponent)
| The ValueExpression linking this component to a property in a backing bean. |
id | false | jakarta.el.ValueExpression
(must evaluate to java.lang.String)
| The component identifier for this component. This value must be unique within the closest parent component that is a naming container. |
rendered | false | jakarta.el.ValueExpression
(must evaluate to boolean)
| Flag indicating whether or not this component should be rendered (during Render Response Phase), or processed on any subsequent form submit. The default value for this property is true. |
value | false | jakarta.el.ValueExpression
(must evaluate to java.lang.Object)
| The tree model. Only TreeModel is allowed as value. |
var | false | jakarta.el.ValueExpression
(must evaluate to java.lang.String)
| The name of the request attribute which exposes the wrapped data of the current node of the tree model. |
varNode | false | jakarta.el.ValueExpression
(must evaluate to java.lang.String)
| The name of the request attribute which exposes the current node of the tree model. |
Output generated by Vdldoc View Declaration Language Documentation Generator.