第一步:到官网下载下载dtree的相关包。

第二步:导入相关包

<link rel="StyleSheet" href="${ctx}/dtree/dtree.css" type="text/css" />
<script type="text/javascript" src="${ctx}/dtree/dtree.js"></script>

第二步:利用js输出

<p><a href="javascript: d.openAll();">open all</a> | <a href="javascript: d.closeAll();">close all</a></p>

	<script type="text/javascript">
<!-- d = new dTree('d'); d.add(0,-1,'My example tree');
d.add(1,0,'Node 1','example01.html');
d.add(2,0,'Node 2','example01.html');
d.add(3,1,'Node 1.1','example01.html');
d.add(4,0,'Node 3','example01.html');
d.add(5,3,'Node 1.1.1','example01.html');
d.add(6,5,'Node 1.1.1.1','http://www.baidu.com');
d.add(7,0,'Node 4','example01.html');
d.add(8,1,'Node 1.2','example01.html');
d.add(9,0,'My Pictures','example01.html','Pictures I\'ve taken over the years','','','dtree/img/imgfolder.gif');
d.add(10,9,'The trip to Iceland','example01.html','Pictures of Gullfoss and Geysir');
d.add(11,9,'Mom\'s birthday','example01.html');
d.add(12,0,'Recycle Bin','example01.html','','','dtree/img/trash.gif'); document.write(d); //-->
</script>

  输了样式为:

该图为静态的。

二、动态输出树

1.使用jquery ajax方式从后台得到树列表,并转化成json数据,并使用js打印出来

function loaddata()
{
$.ajax({
type: "get",//使用get方法访问后台
dataType: "json",//返回json格式的数据
url: "${ctx}/user/UserAction.do",//要访问的后台地址
data: "method=get_myitem&actor.aid=${userforms.actor.aid}",//要发送的数据
success: function(itemlist){//msg为返回的数据,在这里做数据绑定 d = new dTree('d');
d.add(0,-1,'首页','javascript:void(0);'); for(var i=0;i<itemlist.length;i++)
{
var item = itemlist[i];
if(item.root==0)
{
d.add(item.iid,item.root,item.name,item.url);
for(var j=0;j<itemlist.length;j++)
{
var item1 = itemlist[j];
if(item1.root==item.iid)
{
d.add(item1.iid,item1.root,item1.name,item1.url);
}
}
}
}
d.add(100,0,'系统帮助','javascript:void(0);');
d.add(101,100,'使用手册','#');
d.add(102,100,'规章制度','#');
//$("#dtree").html(d);
document.getElementById("dtree").innerHTML=d;
}
});
}

  后台:useraction 里的方法

List<Item> itemlist = userservice.query_item_list(userform.actor.getAid());

		//将itemlist转化成json数据发送到前台
JSONArray jsonArray = JSONArray.fromObject(itemlist);
PrintWriter out = response.getWriter();
out.write(jsonArray.toString());
out.flush();
out.close();

效果图:

这里有一个注意问题:jquery与dtree不兼容

原因:

$("#dtree").html(d); \\显示不了,打印不出来
      document.getElementById("dtree").innerHTML=d; \\正常显示

说明:d.add(item1.iid,item1.root,item1.name,item1.url);

第一个参数:自身id序列    第二个参数:所属父节点id(-1为整棵树的根,最上面的节点)  第三个参数:节点名字   第四个参数:url   第五个参数:图标

以栏‘目管理为例’:

第一个参数:iid               第二个参数:0(首页的id)     第三个参数:‘栏目管理’      第四个参数:‘www.baidu.com’   第五个参数:‘\img\test.gif’

该树可以为n层

dtree的使用的更多相关文章

  1. 插件dTree的使用

    解压缩dtree.zip 包.  dtree目录下包括这些文件:example01.html . dtree.js . api.html . dtree.css 和img目录       注意:除了a ...

  2. dtree的使用和扩展

    相信用过dtree的童靴的不在少数,网络上流传的JS树有很多,例如雪花树MzTreeView,EXT.Struts2出来之后,也有自己的树控件,但是这么多风姿卓约的倩影中,我独爱,独爱dtree那一棵 ...

  3. Js树型控件Dtree使用

    dtree地址:http://destroydrop.com/javascripts/tree/ Key features Unlimited number of levels 无限级 Can be ...

  4. 用dTree组件生成无限级导航树

     在做管理系统时不可避免要用到导航树,这种东西只要一次做好,就可以随处运行,目前比较好的组件是dTree,原则上可以达到无限级,当然实际运行中4,5级就已经很多了,dTree的速度还是不错的,而且是J ...

  5. dtree基础

    最近用到了dtree来建立树,纠结过好久后,终于有了些门道,下面的总结希望对咪咪们有些帮助: dtree用来建立静态树或者动态树都是很方便的,老外给提供了整个的JS,然后我们只是操心这个树中存放的元素 ...

  6. [11-1] adaboost DTree

    main idea:用与$u_t$成正比的概率sampling生成的数据集$\widetilde{D}$训练DTree:用整个数据集$D$计算weighted$\epsilon_n$,计算$g_t$的 ...

  7. struts2由&lt;s:tree&gt;要么dtree小工具 建立树

    一个 .<s:tree>方法: 1.引入新的标签: <%@ taglib prefix="sd" uri="/struts-dojo-tags" ...

  8. Web版RSS阅读器(二)——使用dTree树形加载rss订阅分组列表

    在上一边博客<Web版RSS阅读器(一)——dom4j读取xml(opml)文件>中已经讲过如何读取rss订阅文件了.这次就把订阅的文件读取到页面上,使用树形结构进行加载显示. 不打算使用 ...

  9. dtree实现上下级关系的显示

    在实际开发中我们常常要涉及到到在页面上显示上下级关系这样的需求 ,我的实现方法: 环境:S2SH+mysql 数据库结构如下图: 其中mgr字段是指经理,也就是自己的上一级 映射信息: Action和 ...

随机推荐

  1. (转)使用inotify、inotify_add_watch、inotify_rm_watch、read编写监控程序

    转自:http://blog.csdn.net/myarrow/article/details/7096460 inotify是什么 inotify是文件系统变化通知机制,在监听到文件系统变化后,会向 ...

  2. smarty模板的基础搭建

    1.下载smarty模板,官方即有 2.解压即可.你会得这样的目录 除了libs文件夹其余都可以删掉(不知道有啥用). 3.在当前目录下分别创建templates.templates_c.cache. ...

  3. start-stop-daemon 命令

    Usage: start-stop-daemon [<option> ...] <command> Commands: -S|–start — <argument> ...

  4. Python prettytable的使用方法

    Python prettytable的使用方法 prettytable可以整齐地输出一个表格信息: +-----------+------+------------+----------------- ...

  5. wpf 只在window是ShowDialog打开时才设置DialogResult

    //only set DialogResult when window is ShowDialog before if(System.Windows.Interop.ComponentDispatch ...

  6. BZOJ 3956 Count 解题报告

    好点对的个数是\(O(n)\)的,而且我们可以 \(O(n)\) 地求出所有好点对. 我们把这些点对以右端点为关键字从小到大排序,再弄个扫描线,每次把右端点在扫描线上的点对的左端点加入线段树,于是我们 ...

  7. POJ 1275 Cashier Employment(差分约束)

    http://poj.org/problem?id=1275 题意 : 一家24小时营业的超市,要雇出纳员,需要求出超市每天不同时段需要的出纳员数,午夜只需一小批,下午需要多些,希望雇最少的人,给出每 ...

  8. [杂题]CSUOJ1276 Counting Route Sequence

    题目链接 题意:从1号点走到n号点(每条边只能走一次, 两结点间的边数必定为奇数) 问 经过结点不同顺序的方式有多少种(如1->2->3->4和1->3->2->4 ...

  9. Android USB Host与HID通讯 (一)

    去年9月份来到现在的公司,接到新公司的第一个项目就是Android USB Host与HID通讯,当时也什么都不懂,就拿着google的api 开发指南 (http://developer.andro ...

  10. 延时过程中要加上app.processEvents(),进度条里也要加上这句

    如何让程序等待一段时间QTime t;t.start();while(t.elapsed()<1000);这种死循环也是一种常见错误用法.但改成正确的还是比较简单的: QTime t;t.sta ...