- 浏览: 327032 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
chenfang_0913:
您好,我按照您的方法在Windows端进行了实现,可是我一直捕 ...
java实现网卡数据包抓取学习 -
wps886:
google了半天全是错的,只有楼主的xml配置有用,太感谢了 ...
奇怪的400 BAD REQUEST -
laputa73:
node.addEventListener('mouseup' ...
网络拓扑图DEMO -
njyyao:
单击、双击、右击的事件处理事件?
网络拓扑图DEMO -
lilinshtandby:
不错不错,赞一个
dhtmlxTree总结
最近有一个项目需要做到无限级树型菜单,而且要实现右键的功能,经别人的介绍,我接触到了dhtmlxtree,虽然最后并没有使用它,但是我想以后会有机会用的
在官方给出的例子中,加载一个xml文件很简单,文件内容如下
xml 代码
- <?xml version='1.0' encoding='utf-8'?>
- <tree id="0" text="root">
- <item text="Books" id="books" im0="books_close.gif" im1="tombs.gif" im2="tombs.gif" src="http://www.baidu.com">
- <item text="Mystery & Thrillers" id="mystery" im0="book.gif" im1="books_open.gif" im2="books_close.gif">
- <item text="Lawrence Block" id="lb" im0="book.gif" im1="books_open.gif" im2="book.gif">
- <item text="All the Flowers Are Dying" id="a1" im0="book_titel.gif" im1="book_titel.gif" im2="book_titel.gif" child="1">
- </item>
- <item text="The Burglar on the Prowl" id="lb_2" im0="book_titel.gif" im1="book_titel.gif" im2="book_titel.gif"/>
- <item text="The Plot Thickens" id="lb_3" im0="book_titel.gif" im1="book_titel.gif" im2="book_titel.gif"/>
- <item text="Grifter's Game" id="lb_4" im0="book_titel.gif" im1="book_titel.gif" im2="book_titel.gif"/>
- <item text="The Burglar Who Thought He Was Bogart" id="lb_5" im0="book_titel.gif" im1="book_titel.gif" im2="book_titel.gif"/>
- </item>
- </item>
- </item>
- </tree>
简单了解下,id就是这个节点ID,text是显示的内容,src是点击时的超链接,有了这个xml文件的结构之后,我们就可以通过页面发出请求访问后台,由后台生成类似的xml的字符串,发送到页面,有页面进行接收处理
在页面中的显示如下
js 代码
- <link rel="STYLESHEET" type="text/css" href="../css/dhtmlXTree.css">
- <script src="../js/dhtmlXCommon.js"></script>
- <script src="../js/dhtmlXTree.js"></script>
- ......
- <div id="treeboxbox_tree"></div>
- <script>
- tree=new dhtmlXTreeObject("treeboxbox_tree","100%","100%",0);
- tree.setImagePath("../imgs/");
- tree.setXMLAutoLoading("http://localhost:8082/jh_directoryManager/tree/treeLoad.do?method=open");
- tree.loadXML("http://localhost:8082/jh_directoryManager/tree/treeLoad.do?method=init");
- tree.setOnRightClickHandler(viewRight);//设置右键调用方法
- </script>
这里的tree.loadXML说的明白一点,就是页面第一次打开的时候,访问的请求
tree.setXMLAutoLoading是展开树发送的请求
还可以通过查看API定义一些事件处理如
js 代码
- tree.setOnRightClickHandler(viewRight);//设置右键调用方法
这是的意思是说当在树节点上点击右键的时候,会调用viewRight方法
因为在dhtmlxtree中定义右键菜单,我始终没有弄出来,所以最后放弃使用这个工具
好了,在帖下后台的代码,如下
java 代码
- /**
- * 初始化root表显示根节点使用dhtmlTree
- * @param mapping
- * @param form
- * @param request
- * @param response
- * @return
- */
- public ActionForward init(ActionMapping mapping, ActionForm form,
- HttpServletRequest request, HttpServletResponse response){
- FtpRootPathService ftpRootPathService = (FtpRootPathService)this.getWebApplicationContext().getBean("ftpRootPathService");
- OrganizationService organizationService = (OrganizationService)this.getWebApplicationContext().getBean("organizationService");
- // List list = organizationService.getRootOrgs();
- //--- 测试数据开始
- List list = new ArrayList();
- // TreeBean bean = new TreeBean();
- // bean.setId("1");bean.setName("机构1");bean.setCount("10");
- // list.add(bean);
- // TreeBean bean2 = new TreeBean();
- // bean2.setId("2");bean2.setName("机构2");bean2.setCount("0");
- // list.add(bean2);
- // TreeBean bean4 = new TreeBean();
- // bean4.setId("3");bean4.setName("机构4");bean4.setCount("3");
- // list.add(bean4);
- //--- 测试数据结束
- response.setContentType("text/xml;charset=UTF-8");
- response.setHeader("Cache-Control","no-cache");
- try {
- System.out.println(createDHTMLXML("0",list));
- response.getWriter().print(createDHTMLXML("0",list));//dhtmlxTree方式
- } catch (IOException e) {
- e.printStackTrace();
- }
- return null;
- }
- /**
- * 展开子节点处理
- * @param mapping
- * @param form
- * @param request
- * @param response
- * @return
- */
- public ActionForward open(ActionMapping mapping, ActionForm form,
- HttpServletRequest request, HttpServletResponse response){
- FtpRootPathService ftpRootPathService = (FtpRootPathService)this.getWebApplicationContext().getBean("ftpRootPathService");
- OrganizationService organizationService = (OrganizationService)this.getWebApplicationContext().getBean("organizationService");
- response.setContentType("text/xml;charset=UTF-8");
- response.setHeader("Cache-Control","no-cache");
- String id = request.getParameter("id");
- //根据上一级节点,查询该节点下的所有节点及再下一级节点总个数
- List orgList = organizationService.getOrgChilds(id);
- // StringBuffer sb = new StringBuffer();
- // sb.append("<?xml version='1.0' encoding='utf-8'?>\n");
- // sb.append("<tree id=\""+id+"\">\n");
- // for(int i=0;i<4;i++){
- // sb.append("<item text=\""+id+"_"+i+"\" id=\""+id+"_"+i+"\" im0=\"books_close.gif\" im1=\"tombs.gif\" im2=\"tombs.gif\" child=\"1\"></item>\n");
- // }
- // sb.append("</tree>");
- try {
- System.out.println(createDHTMLXML(id,orgList));
- response.getWriter().print(createDHTMLXML(id,orgList));
- } catch (IOException e) {
- e.printStackTrace();
- }
- return null;
- }
- /**
- * 生成dhtmlTree的xml文件
- * @param rootList
- * @return
- */
- public String createDHTMLXML(String id,List rootList){
- StringBuffer buffer = new StringBuffer();
- buffer.append("<?xml version='1.0' encoding='utf-8'?>\n<tree id=\""+id+"\">\n");
- for(int i=0;i<rootList.size();i++){
- TreeBean bean = (TreeBean)rootList.get(i);
- //添加主目录
- buffer.append("\t<item text=\""+bean.getName()+"\" id=\""+bean.getId()+"\" im0=\"books_close.gif\" im1=\"tombs.gif\" im2=\"tombs.gif\" ");
- //判断是否有子节点,有的话,虚拟一个,强制页面显示有子节点样式
- if(!bean.getCount().equals("0")){
- buffer.append(" child=\"1\"");
- }
- buffer.append(">\n");
- buffer.append("\t</item>\n");
- // buffer.append("<item text="+id+"_"+i+" id="+id+"_"+i+" im0=\"books_close.gif\" im1=\"tombs.gif\" im2=\"tombs.gif\"></item>");
- }
- buffer.append("</tree> ");
- return buffer.toString();
- }
评论
5 楼
lilinshtandby
2013-10-29
不错不错,赞一个
4 楼
cn_arthurs
2009-01-05
QQ:307215311
3 楼
Mystic
2009-01-04
http://www.cnblogs.com/jacklaw/archive/2008/07/23/1249788.html
http://www.cnblogs.com/jacklaw/archive/2008/07/23/1249788.html 转载收藏
你好你能给我你的联系方式吗 我想问你下 dhtmltree的相关问题
cn_arthurs 写道
http://www.cnblogs.com/jacklaw/archive/2008/07/23/1249788.html 转载收藏
你好你能给我你的联系方式吗 我想问你下 dhtmltree的相关问题
2 楼
cn_arthurs
2008-12-01
http://www.cnblogs.com/jacklaw/archive/2008/07/23/1249788.html
转载收藏
转载收藏
1 楼
bigbone
2008-09-11
右键菜单你得自己去写代码生成,它只是提供了一个右键点击树的一个接口,可以自己用js写个右键菜单,来达到你的要求,这个可以实现,我成功过。
发表评论
-
禁止页面放大缩小
2013-05-12 18:42 1899<html> <head> &l ... -
在web.xml中添加多个filter
2011-05-10 15:32 6657web.xml中的多个filter的运行顺序walker(wa ... -
tomcat无法启动
2011-05-08 09:11 1115Myeclipse8.5 + Tomcat7.0.5 发布应 ... -
XML to JSON
2011-04-06 16:17 1296现在JSON在前台的应用越来越广泛,不过也有很多系统是基于XM ... -
ajax tree框架(zTree)
2011-04-05 12:23 2890在以往的项目中,有时会用到树菜单的操作.我用过dhtmltre ... -
通过HttpClient发送Web Service请求
2011-01-19 10:29 1841import java.io.ByteArrayInputSt ... -
使用JES搭建小巧的Mail服务器
2010-10-26 21:56 1598最新需要使用MAIL服务器进行测试,正所谓山不在高,有仙则灵. ... -
struts2+spring2+hibernate3所需要的最少jar包
2010-04-19 16:06 1597Spring2所需要的jar包最简单,只需要一个综合的spri ... -
Struts2中获取requset,session,application
2010-01-04 13:24 1608struts2中Action是集成于com.opensymph ... -
struts2.0中struts.xml配置文件详解(转)
2010-01-04 11:10 1110<!DOCTYPE struts PUBLIC &quo ... -
struts2-Unable to load configuration. - bean - jar
2010-01-01 12:01 2853在整合Struts2 + Spring2 + Hibernat ... -
[转载]企业级SOA之路——在Web Service中使用HTTP和JMS
2009-12-28 10:28 1235本文来自CSDN博客,转载请标明出处:http://blog. ... -
XAMPP虚拟主机配置,实现单主机多个站点
2009-10-24 23:31 2784打开注释 NameVirtualHost *:80 ... -
thinkphp中使用ajax接收json数据
2009-04-01 17:25 9492参考thinkphp+jquery实现ajax,扩展了下,写了 ... -
基于服务器推的web im(未实现)
2009-03-24 16:10 1385想着手研究一下服务器推技术,看看能不能写出一个web im程序 ... -
使用dhtmltree动态生成树菜单总结
2009-03-19 13:49 5736我之前发布的dhtmltree总 ... -
能够自由拖动布局区域的网页
2009-03-11 09:54 2493<html> <head> <t ... -
jquery+json小例子
2009-02-19 16:08 10015由有不当之处,还望大家能指出。 直接进入主题,使用jquery ... -
在OpenFire的基础上安装JWChat 1.0
2009-02-12 17:57 0http://blog.csdn.net/simonhe197 ... -
JSON介绍
2008-12-11 12:18 2022JSON已经被广泛誉为浏览器中XML的替代品,它的目标仅仅是成 ...
相关推荐
总结来说,dhtmlxtree是一个强大的JavaScript树形组件,它通过JSON与服务器进行数据交互,提供灵活的数据加载和丰富的用户交互功能。通过实践项目`dhtmlxtreeTest`,我们可以深入了解dhtmlxtree的用法和与JSON的整合...
总结,dhtmlxTree是JavaScript编程中用于创建交互式树形结构的强大工具,它结合了丰富的功能、高度的可定制性和灵活的数据加载机制。通过了解其特性、API和许可证,开发者可以更好地在项目中应用和扩展dhtmlxTree,...
### 总结 dhtmlXTree1.6是一个强大且易于使用的JavaScript组件,为Web开发人员提供了构建交互式树状结构的工具。其丰富的特性、良好的文档支持和广泛的社区资源使其成为实现树形数据展示的理想选择。通过熟练掌握...
总结来说,这个压缩包提供了一个关于dhtmlxtree的实际应用案例,特别是与权限管理相关的功能。通过学习这个demo,开发者可以了解到如何利用dhtmlxtree来创建交互式树形结构,并实现复杂的业务逻辑,如权限分配。同时...
总结起来,dhtmlxtree是一个强大且灵活的JavaScript树形控件,通过其复选框、右键菜单和拖放功能,能够满足各种复杂的Web界面设计需求。开发者可以通过深入理解和熟练运用其API,创建出高效、易用的用户界面。
总结来说,dhtmlxTree 3.6是一个强大且灵活的JavaScript树形控件,提供丰富的功能和良好的扩展性,适用于构建需要展示层级结构的Web应用。通过其丰富的API和扩展模块,开发人员可以轻松地创建符合需求的交互式树形...
#### 六、总结 本文详细介绍了如何使用 DHTMLXTree 构建动态树形结构。通过以上步骤,开发者可以轻松地为网站或应用添加强大的树形组件,实现数据的层次化展示。无论是简单的数据展示还是复杂的交互逻辑,DHTMLXTree...
总结一下,这个项目展示了如何利用Java(Struts2框架)、JSON和DhtmlxTree JavaScript库来构建一个高效的、异步加载的树形视图。对于开发人员来说,这是一个很好的学习资源,可以了解如何将后端数据无缝集成到前端...
#### 五、总结 本文介绍了如何使用DHTMLXTree组件构建一个动态维护树的完整流程,从数据库设计到前后端代码实现都进行了详细的说明。通过这种方式可以有效地管理具有层级关系的数据集,并为用户提供友好易用的操作...
总结来说,"dhtmlxTree.zip" 提供了一整套工具和资源,使开发者能够在JSP应用中轻松实现交互式的树形视图。通过研究提供的文件,开发者可以学习如何集成、配置和定制这个强大的JavaScript组件,从而提升Web应用的...
### DHtmlXTree应用指南知识点总结 #### 一、引言 DHtmlXTree是一款用于构建动态树形结构的JavaScript库。它可以帮助开发者快速创建、管理和操作复杂的树状数据结构,广泛应用于各种Web应用程序中,如文件管理器、...
总结来说,dhtmlxTree3.6是一个强大且灵活的JavaScript树控件,提供了丰富的特性和良好的可扩展性,适用于各种需要展示层级结构信息的Web应用。通过深入理解和熟练运用,开发人员可以创建出功能完备、用户体验出色的...
### 六、总结 dhtmlxtree 的右键菜单功能使得用户能够更直观地操作树形结构数据,增强了交互性。理解并熟练运用其添加、修改和删除节点的方法,以及如何自定义和绑定菜单事件,将有助于你构建更高效、用户友好的Web...
总结来说,"使用XML或JSON方式生成dhtmlxtree"这个主题涵盖了前端树形结构的表示、数据交换格式的选择(XML或JSON),以及如何使用dhtmlxtree库将这些数据转换为用户友好的界面。这涉及到前端与后端的交互、数据解析...
总结来说,dhtmlxTree v1.5 是一个强大且灵活的JavaScript树形菜单库,提供丰富的功能和事件处理,适用于各种需要展示层次化信息的Web应用。通过理解和掌握其核心概念、主要功能以及使用方法,开发者可以轻松地将...
总结,DhtmlXTREE控件是构建动态、交互性强的树形结构的理想选择。通过将数据库数据转换为XML格式并利用其API,我们可以轻松地生成和管理复杂的目录树。理解并掌握这些核心概念和步骤,将有助于你在实际项目中有效...
总结来说,dhtmlxtree1.5是一个功能丰富的JavaScript树形控件,提供了多种许可证供不同类型的用户选择,支持动态加载、拖放、搜索等功能,并且可以通过XML文件灵活配置数据。对于前端开发者来说,这是一个高效且易用...