论坛首页 Java企业应用论坛

e3.tree 1.5 发布,很好,很强大,有截图

浏览 22089 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2008-02-23  
E3.Tree是E3平台下一个用于构造树型UI(menu,tree,outlookbar等)的的组件,
E3.Tree 特色:
 1:部署简单,只需要把相关jar放到WEB-INF/lib目录下即可
 2:构造树,菜单等树型UI的开发模式一致
 3:提供了API和taglib 2种使用方式,使用简单,功能强大
 4:能够很容易把现有的树型UI集成进来,现在支持的有:xtree, ext tree 和yui menu
 5:功能丰富,现在支持的树有 普通树,radio树 ,checkbox树,动态树等
           6:能够在jsf/webwork/strtus/spring mvc 等等框架使用



代码示例:
<c:url var="orgIcon" value="/e3/samples/tree/Org.gif"/>
<c:url var="userIcon" value="/e3/samples/tree/User.gif"/>
<e3:tree var="org" items="orgs" >
  <e3:node id="${org.id}" parentId="${org.parentId}" name="${org.name}"
           icon="${orgIcon}"
           openIcon="${userIcon}"   
  />
</e3:tree>



想了解更多内容,请登陆e3主页

下载www.javae3.com
演示系统http://www.javae3.com:8001/e3/Index.jsp


E3Tree参考手册[1.5]
E3.Tree.dist-1.5.jar
E3.Tree.src-1.5.jar
e31.2.2.jar (这是样例)

  • 描述: 截图
  • 大小: 57.6 KB
   发表时间:2008-02-23  
1.5新增功能,提供了taglib的方式构造树型UI

把下面内容命名为E3Tree.jsp,放到例子web应用目录下去,输入地址http://localhost:8080/e3/E3Tree.jsp 看看效果,如果你看到2棵树,说明程序正常没问题.

 

<%@ page contentType="text/html; charset=utf-8"%>

 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %><%@ taglib prefix="e3" uri="/e3/tree/E3Tree.tld" %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><HTML><HEAD><META http-equiv=Content-Type content="text/html; charset=utf-8"><script> function showSelectedNode(){ var selectModel= tree.getSelectionModel(); var selectNode = selectModel.getSelectedNode(); alert(selectNode.text + selectNode.id );   } </script></HEAD><BODY> <%  java.util.List datas  = new java.util.ArrayList();  java.util.Map data = new java.util.HashMap();  data.put("id","10");  data.put("parentId", null );  data.put("name","总部");   datas.add( data );    java.util.Map data1 = new java.util.HashMap();  data1.put("id","1010");  data1.put("parentId", "10" );  data1.put("name","子公司1");  datas.add( data1 );        java.util.Map data2 = new java.util.HashMap();  data2.put("id","1020");  data2.put("parentId", "10" );  data2.put("name","子公司2");  datas.add( data2 );        pageContext.setAttribute("orgs", datas);  %><table><tr><td><c:url var="orgIcon" value="/e3/samples/tree/Org.gif"/><c:url var="userIcon" value="/e3/samples/tree/User.gif"/><e3:tree var="org" items="orgs" builder="extTree">  <e3:node id="${org.id}" parentId="${org.parentId}" name="${org.name}"            icon="${orgIcon}"            openIcon="${userIcon}"           action="javascript:showSelectedNode()"  /></e3:tree></td><td><e3:tree var="org" items="orgs"  builder="xTree">  <e3:node id="B${org.id}" parentId="B${org.parentId}" name="${org.name}"           icon="${orgIcon}"            openIcon="${userIcon}"           action="javascript:alert('test')"  /></e3:tree></td></tr></BODY></HTML>   
使用taglib步骤

1.         声明taglib

    <%@ taglib prefix="e3" uri="/e3/tree/E3Tree.tld" %>

2.         准备业务数据

  java.util.List datas  = new java.util.ArrayList();  java.util.Map data = new java.util.HashMap();  data.put("id","10");  data.put("parentId", null );  data.put("name","总部");  datas.add( data );    java.util.Map data2 = new java.util.HashMap();  data2.put("id","1020");  data2.put("parentId", "10" );  data2.put("name","子公司2");  datas.add( data2 );  业务数据可以保存在Map或者普通的JAVABEAN.业务数据必须包含id,parentId,以及节点名称 信息。注意:并不要求他们的属性名是”id” “parented”,”name”,只需要包含了这些信息即可。Id代表节点主键,parentId代表父亲节点主键, name代表节点标题。 如你的业务对象属性名称是orgId, parentOrgId, orgName都可以. 

3.         保存业务数据

     pageContext.setAttribute("orgs", datas);     可以保存到(pageContext,request, sessionapplication)

4.         使用taglib显示树

<e3:tree var="org" items="orgs" builder="extTree">  <e3:node id="${org.id}" parentId="${org.parentId}" name="${org.name}"            icon="${orgIcon}"            openIcon="${userIcon}"           action="javascript:showSelectedNode()"  /></e3:tree>Tree标签属性

属性名称

属性类型

备注

var

String

用于保存items元素

items

String

是业务数据列表对象的key

builder

String

用于构造树的builder对象(builder是什么下面会有介绍),可以选值有

[XTree, XLoadTree, RadioXTree, RadioXLoadTree, CheckXTree, CheckXLoadTree, CompositeXTree, CompositeXLoadTree, ExtTree, ExtLoadTree]

如果这些builder不能满足您的需求,你可以指定一个class,只要指定class实现了WebTreeBuilder接口即可.

comparator

java.util.Comparator

排序器,用来对树的节点排序. 节点类型为

net.jcreate.e3.tree.support.WebTreeNode

sortProperty

String

排序属性名称,默认是按节点的名称来排序的,如果要使用别的属性排序,则需要设置该值.:如果你的业务对象有排序属性时,则需要指定,如sortProperty=”orgOrder”. 注意:如果设置了comparator属性,那么该值无效.

reverse

boolean

是否反向排序,默认false

   
 

q        node标签负责将业务对象转换成树节点对象.node taglib包含的常规属性有

属性名称

属性类型

备注

id

String

节点id

parentId

String

父亲节点id

name 

String

节点名称(标题)

icon

String

节点图标

openIcon

String

节点展开时的图标

action

String

是单节点时的动作,可以是一个url也可以是javascript函数.如果是函数,则必须以javascript:开头.:action=”javascript: alert(‘demo’)”

nodeProperty

String

用于设置节点类型,有效值radio,checkboxnone,  nodeProperty的默认值是none,表示节点旁边没有其他控件,为radio时,节点旁边会有个单选按纽,为checkbox时,节点旁边会有个checkbox按纽.

selected

boolean

是否选种节点,只有当nodePropertyradiocheckbox时才有效,默认值为false

disabled

boolean

是否禁用节点,默认值为false

value

String

节点帮定的值,只有当nodePropertyradiocheckbox时才有效,默认值为空(长度为0的字符串)

dragable

boolean

节点是否允许拖动,默认值为false

dropable

boolean

是否允许停放拖动的节点,默认值为false

   

0 请登录后投票
   发表时间:2008-02-23  
编辑乱了,还是上传下手册.
0 请登录后投票
   发表时间:2008-02-24  
很好很强大!!

不过Ext也不错!
0 请登录后投票
   发表时间:2008-02-25  
e3.tree 把ext tree大多数功能集成进来了。你只需要用ExtTreeBuilder即可
0 请登录后投票
   发表时间:2008-02-25  
大家都在用什么树,说说:),如果合适的话,我都集成到e3.tree里来
0 请登录后投票
   发表时间:2008-02-25  
改进不小, "很好很强大"用词恰当.
0 请登录后投票
   发表时间:2008-02-26  
赞一个,支不支持在节点后面加按钮,按钮调用js操作树,然后能够很容易的通过js把操作后的数据post回服务端。

这种情况经常有
0 请登录后投票
   发表时间:2008-02-26  
leadyu 写道
赞一个,支不支持在节点后面加按钮,按钮调用js操作树,然后能够很容易的通过js把操作后的数据post回服务端。

这种情况经常有

我明白你的意思, 本人js不熟悉,e3.tree 本身没有提供js树,是集成了xtree和ext tree, 好象这2个东西不支持你要的功能.谁有能满足这类需求的树,愿意提供的话,我把它集成到e3.tree里来,简化应用
0 请登录后投票
   发表时间:2008-02-26  
不知道它的树性能如何?谁能给个数据,500个节点加载,展开,收缩速度如何。。、、
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics