E3.Tree参考手册(v0.1)
简介
E3.Tree是E3平台下一个用于构造树型UI(menu,tree,outlookbar等)的的组件,开发这个组件的主要目的有两点:
1.        重用树型UI的构造过程,简化树型UI的开发
2.         建立起一致的树型UI开发模式
 
系统要求
JDK1.4X
TOMCAT5.X (其他未测试)
样例部署
把e3.war 放到Tomcat's webapps 目录下,启动服务器,输入地址http://localhost:8080/e3 进入示例主页. 点级E3.Tree 连接,即可看到示例程序.
示例组图:
使用
Lib文件清单

文件名
版本
说明
E3-Tree.jar
1.0
E3平台的树
E3-TemplateEngine.ja
1.0
E3平台的模板引擎Adapter
commons-logging.jar
1.04
Apache的commons log,
log4j-1.2.14.jar
1.2.14
Apache的log4j
velocity-1.4.jar
1.4
Apache的模板引擎

 
  
添加JAR到classpath中
把Lib文件清单中的jar全部添加到classpath中
web.xml配置
添加导入js 等UI资源的监听器

      net.jcreate.e3.tree.loader.LoadResourcesListener
   

 
控制器Servlet

protected void service(HttpServletRequest pRequest, HttpServletResponse pResponse) throws ServletException, IOException {         
       //业务数据
              List orgs = new ArrayList();
              Org jcjtOrg = new Org("001",null,"进创集团", 1);
              Org jcrjOrg = new Org("001001","001","进创软件", 1);
              Org xrjOrg = new Org("0010010011","001001","X软件公司", 1);
              Org yrjOrg = new Org("0010010012","001001","Y软件公司", 2);
              Org zrjOrg = new Org("0010010013","001001","Z软件公司", 3);
              orgs.add(jcjtOrg);
              orgs.add(jcrjOrg);
              orgs.add(xrjOrg);
              orgs.add(yrjOrg);
              orgs.add(zrjOrg);
 
              //业务数据解码器,从业务数据中分解出id和parentid
              UserDataUncoder orgUncoder = new UserDataUncoder(){
                     public Object getID(Object pUserData) throws UncodeException {
                            Org org = (Org)pUserData;
                            return org.getId();
                     }
                     public Object getParentID(Object pUserData) throws UncodeException {
                            Org org = (Org)pUserData;
                            return org.getParentId();
                     }
              };
             
              //Tree模型构造器,用于生成树模型
              AbstractWebTreeModelCreator treeModelCreator =
               new AbstractWebTreeModelCreator(){
                     //该方法负责将业务数据映射到树型节点
                     protected Node createNode(Object pUserData, UserDataUncoder pUncoder) {
                            Org org = (Org)pUserData;
                            WebTreeNode result = new WebTreeNode(org.getName(), "org" + org.getId());
                            //action是点击按纽执行的方法.可以是url,或者javascript函数
                            result.setAction("javascript:alert(' " + org.getName() + "')");
                            return result;
                     }
              };
              treeModelCreator.init(pRequest);
             
              TreeModel treeModel = treeModelCreator.create(orgs,orgUncoder);
              TreeDirector director = new DefaultTreeDirector();//构造树导向器
              WebTreeBuilder treeBuilder = new XTreeBuilder();//构造树Builder
              treeBuilder.init(pRequest);            
              director.build(treeModel, treeBuilder);//执行构造       
              String treeScript = treeBuilder.getTreeScript();//获取构造树的脚本
              pRequest.setAttribute("treeScript", treeScript);//保存到request,以便页面使用
pRequest.getRequestDispatcher("/e3/samples/tree/XTree.jsp").forward(pRequest,pResponse);
}

 
这里我们构造是普通树,如果要构造带checkbox/radiobox的树,只需要将
WebTreeBuilder treeBuilder = new XTreeBuilder()
这行代码换成
WebTreeBuilder treeBuilder = new CheckXTreeBuilder ()
WebTreeBuilder treeBuilder = new RadioXTreeBuilder ()
即可
 
JSP页面

%@ page contentType="text/html; charset=utf-8"%>
<META http-equiv=Content-Type content="text/html; charset=utf-8">
 
 

  • e3.war (3.9 MB)
  • 描述: 样例
  • 下载次数: 708
评论
toppest 2007-12-14
楼主,我想用你这个树型菜单,但只需要用其中的一种,我有些地方看不太明白,你能给指点一下吗?
huangyh 2007-11-03
请看参考手册,跟spring,hibernate没关系
kaki 2007-11-02
看起来很不错,谢谢了!

不知道如何与spring+hibernate结合?
huangyh 2007-10-30
功能列表:
1:普通树
2:动态树
3:动态radio树
4:动态checkbox树
5:混合节点树
6:节点排序
7:节点过滤
huangyh 2007-10-27
E3.Tree 1.1 发布了.
1:添加了YUIMenuBuilder,用于构造菜单树,使用方法看示例
2:添加了混合节点树的使用示例
3:完善了开发参考手册,添加了设计模型,代码片段,FAQ等内容.
下载页面
http://www.javaeye.com/post/401182
huangyh 2007-10-20
??哪个代码没有,在E3.Tree.src下都有了
lzycxy 2007-10-10
下载试用了一把,感觉不错。
huangyh 2007-10-09
有没有html版的什么?
InnocentBoy 2007-10-09
有没有html版的?发上来看看。
huangyh 2007-10-08
谢谢楼上2位,暂时考虑放javaeye,申请个圈子,就我一个人开发,搞个svn之类的也什么用:)
luyongshou 2007-10-08
我有个服务器可以提供一些svn的空间,如果你觉得可以放到我这里可以联系我。QQ:28401579 msn:luyongshou@sohu.com ,我也在开发一些协同开发的一些功能,想致力做一个中国类似sf这样的开发社区,但是一个人的力量真的很有限。现在做出来的功能还不多。
我的网站是www.easyea.org
netment 2007-09-28
楼主可以考虑在googlecode做host的
huangyh 2007-09-26
e3.war 已更新,现在tomcat5.5 /,weblogic下正常
huangyh 2007-09-26
问题找到了,少了一个apache的commons-collections.jar,
因为tomcat5.028自带了这个包,所以我之前没出现这问题。大家自己下在commons-collections.jar (2.1就可以),或者到群里来,发给你
mj4678 2007-09-26
HTTP Status 500 - 调用方法:'showNavTree'失败!
同样------------
huangyh 2007-09-25
有兴趣可以看看源代码,这东西核心设计模式是builder.扩展性比较好
baoq 2007-09-25
看了效果图 ,感觉不错
huangyh 2007-09-25
没有在jdk1.6下测试过,晚上回去测试.
sqicoo 2007-09-25
HTTP Status 500 - 调用方法:'showNavTree'失败!

怎么办
huangyh 2007-09-25
还没网站,国内有没有放开源的地方好点的地方?我需要个CVS/SVN空间,有推荐波?
发表评论

提醒: 该博客已发表在公共论坛,博客所有留言会成为论坛回贴,留言请注意遵守论坛发贴规则

您还没有登录,请登录后发表评论

huangyh
搜索本博客
我的相册
Ff66d010-8d48-4224-b202-66e72ff8ac74-thumb
FCG体系结构3
共 10 张
最近加入圈子
存档
最新评论