30.67. <w:treeNode>

TreeNode是树中的节点,在当前节点的里面还可以嵌套其他的节点,使用TreeNode可以构建一个层次分明的节点树。

30.67.1. 构件信息

表 30.163. 构件信息

Component Typeorg.operamasks.faces.component.tree.impl.UITreeNode
Component Familyorg.operamasks.faces.component.tree.impl.UITreeNode
Component Classorg.operamasks.faces.component.tree.impl.UITreeNode
Tag Classorg.operamasks.faces.webapp.widget.UITreeNodeTag
Renderer Typeorg.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.67.2. 属性

表 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.67.3. 构件API

30.67.3.1. UITreeNode(treeNode的构件类)

表 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
方法描述 得到当前节点下所有半勾中的节点

30.67.4. 示例

以下的例子介绍了 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>