TreeNode是树中的节点,在当前节点的里面还可以嵌套其他的节点,使用TreeNode可以构建一个层次分明的节点树。
表 30.163. 构件信息
| Component Type | org.operamasks.faces.component.tree.impl.UITreeNode |
| Component Family | org.operamasks.faces.component.tree.impl.UITreeNode |
| Component Class | org.operamasks.faces.component.tree.impl.UITreeNode |
| Tag Class | org.operamasks.faces.webapp.widget.UITreeNodeTag |
| Renderer Type | org.operamasks.faces.component.tree.impl.UITreeNode |
| Renderer Class(AJAX) | org.operamasks.faces.render.widget.ajax.AjaxTreeNodeRenderer |
+java.lang.Object
++javax.faces.component.UIComponent
+++javax.faces.component.UIComponentBase
++++org.operamasks.faces.component.tree.base.UITreeNodeBase
+++++org.operamasks.faces.component.tree.impl.UITreeNode
表 30.164. 属性
| binding | 定义类 | javax.faces.component.UIComponentBase | ||
| 类型 | javax.el.ValueExpression(javax.faces.component.UIComponent) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| 一个值表达式,用于把该组件链接到一个ManagedBean的某个属性。 | ||||
| cascade | 定义类 | org.operamasks.faces.component.tree.impl.UITreeNode | ||
| 类型 | javax.el.ValueExpression(java.lang.Boolean) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| 当前节点的事件是否级联父节点和子节点 | ||||
| checked | 定义类 | org.operamasks.faces.component.tree.impl.UITreeNode | ||
| 类型 | javax.el.ValueExpression(java.lang.Boolean) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| 当前节点的复选框是否选中 | ||||
| cls | 定义类 | org.operamasks.faces.component.tree.impl.UITreeNode | ||
| 类型 | javax.el.ValueExpression(java.lang.String) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| 构件上的CSS样式类 | ||||
| disabled | 定义类 | org.operamasks.faces.component.tree.impl.UITreeNode | ||
| 类型 | javax.el.ValueExpression(java.lang.Boolean) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| 是否使当前节点无效 | ||||
| expanded | 定义类 | org.operamasks.faces.component.tree.impl.UITreeNode | ||
| 类型 | javax.el.ValueExpression(java.lang.Boolean) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| 当前节点是否是展开的 | ||||
| href | 定义类 | org.operamasks.faces.component.tree.impl.UITreeNode | ||
| 类型 | javax.el.ValueExpression(java.lang.String) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| 当前节点的链接对应的URL | ||||
| hrefTarget | 定义类 | org.operamasks.faces.component.tree.impl.UITreeNode | ||
| 类型 | javax.el.ValueExpression(java.lang.String) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| 当前节点对应网址要显示的html frame名称 | ||||
| icon | 定义类 | org.operamasks.faces.component.tree.impl.UITreeNode | ||
| 类型 | javax.el.ValueExpression(java.lang.String) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| 当前节点的图标 | ||||
| iconCls | 定义类 | org.operamasks.faces.component.tree.impl.UITreeNode | ||
| 类型 | javax.el.ValueExpression(java.lang.String) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| 节点图标上附加的额外CSS样式类名,若有多个以空格分隔。 | ||||
| id | 定义类 | javax.faces.component.UIComponentBase | ||
| 类型 | java.lang.String | |||
| 是否必须 | 否 | 延时求值 | 否 | |
| 这个组件的组件标识符。这个值在最近的命名容器类型的父组件范围内,必须是唯一的。 | ||||
| leaf | 定义类 | org.operamasks.faces.component.tree.impl.UITreeNode | ||
| 类型 | javax.el.ValueExpression(java.lang.Boolean) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| 当前节点是否是叶节点 | ||||
| qtip | 定义类 | org.operamasks.faces.component.tree.impl.UITreeNode | ||
| 类型 | javax.el.ValueExpression(java.lang.String) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| 节点的鼠标指针弹出提示 | ||||
| rendered | 定义类 | javax.faces.component.UIComponentBase | ||
| 类型 | boolean(boolean) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| 一个标志,指出该组件是否要在任何随后的form提交过程中被渲染或处理。 这个属性的缺省值是true。 | ||||
| singleClickExpand | 定义类 | org.operamasks.faces.component.tree.impl.UITreeNode | ||
| 类型 | javax.el.ValueExpression(java.lang.Boolean) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| 是否允许单击时展开节点 | ||||
| text | 定义类 | org.operamasks.faces.component.tree.impl.UITreeNode | ||
| 类型 | javax.el.ValueExpression(java.lang.String) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| 节点的显示文本。当不设置text时,显示的是节点的值。 | ||||
| userData | 定义类 | org.operamasks.faces.component.tree.impl.UITreeNode | ||
| 类型 | javax.el.ValueExpression(java.lang.Object) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| 指定节点的值 | ||||
表 30.165. 常用方法
| reload | 方法签名 | public void reload() |
| 参数说明 | 无参数 | |
| 返回值 | 无返回值 | |
| 方法描述 | 从TreeDataProvider重新读取节点的数据,包括文本,图标,和选中状态 | |
| reloadChildren | 方法签名 | public void reloadChildren() |
| 参数说明 | 无参数 | |
| 返回值 | 无返回值 | |
| 方法描述 | 刷新树节点的一级子节点 | |
| remove | 方法签名 | public void remove() |
| 参数说明 | 无参数 | |
| 返回值 | 无返回值 | |
| 方法描述 | 移除树节点 | |
| add | 方法签名 | public UITreeNode add(UITreeNode node) |
| 参数说明 | 要添加的节点 | |
| 返回值 | 添加后节点的动态代理 | |
| 方法描述 | 加入子节点 | |
| getTree | 方法签名 | public UITree getTree(UITreeNodeBase node) |
| 参数说明 | 当前节点示例 | |
| 返回值 | 当前节点所在的tree的示例 | |
| 方法描述 | 得到tree的实例 | |
| setChecked | 方法签名 | public void setChecked(Boolean checked) |
| 参数说明 | 节点的选中状态 | |
| 返回值 | 无返回值 | |
| 方法描述 | 设置树节点的勾中状态,并发送脚本到客户端,改变客户端的Ext构件 | |
| setIcon | 方法签名 | public void setIcon(String icon) |
| 参数说明 | 节点的图标的路径 | |
| 返回值 | 无返回值 | |
| 方法描述 | 设置树节点的图标,并发送脚本到客户端,改变客户端的Ext构件 | |
| setText | 方法签名 | public void setText(java.lang.String value) |
| 参数说明 | 节点的text | |
| 返回值 | 无返回值 | |
| 方法描述 | 设置树节点的文本,并发送脚本到客户端,改变客户端的Ext构件 | |
| getPartlyCheckedNodes | 方法签名 | public List<UITreeNode> getPartlyCheckedNodes() |
| 参数说明 | 无参数 | |
| 返回值 | 当前节点下的所有半选中(因子结点被选中而级联选中)节点的List | |
| 方法描述 | 得到当前节点下所有半勾中的节点 |
以下的例子介绍了 w:treeNode 标签的简单用法:
<layout:borderLayout fitToBody="true">
<layout:panel region="west" width="200" title="网址" split="true">
<w:form>
<w:tree id="tree" loadAllNodes="true" expandAll="true" border="false"
style="height:100%;width:100%;">
<w:treeNode text="网址大全">
<w:treeNode text="搜索引擎">
<w:treeNode text="Google" href="http://www.google.cn" hrefTarget="center"></w:treeNode>
<w:treeNode text="百度" href="http://www.baidu.com" hrefTarget="center"></w:treeNode>
<w:treeNode text="搜狐" href="http://www.sohu.com" hrefTarget="center"></w:treeNode>
</w:treeNode>
<w:treeNode text="IT社区">
<w:treeNode text="OperaMasks" leaf="true" href="http://www.operamasks.org"
hrefTarget="center"></w:treeNode>
<w:treeNode text="CSDN" leaf="true" href="http://www.csdn.net" hrefTarget="center"></w:treeNode>
<w:treeNode text="JavaEye" leaf="true" href="http://www.javaeye.com" hrefTarget="center"></w:treeNode>
</w:treeNode>
<w:treeNode text="娱乐">
<w:treeNode text="QQ" leaf="true" href="http://www.qq.com" hrefTarget="center"></w:treeNode>
<w:treeNode text="新浪" leaf="true" href="http://www.sina.com.cn" hrefTarget="center"></w:treeNode>
<w:treeNode text="猫扑" leaf="true" href="http://www.mop.com" hrefTarget="center"></w:treeNode>
</w:treeNode>
</w:treeNode>
</w:tree>
</w:form>
</layout:panel>
<layout:panel region="center" title="网站内容">
<iframe style="width: 100%; height: 100%;" name="center" frameborder="0" />
</layout:panel>
</layout:borderLayout>