dtree动态生成树型结构
来源:互联网 发布:swiper vue.js 不兼容 编辑:程序博客网 时间:2024/05/18 09:20
本文参考http://www.hikersblog.com/blog/user1/13/archives/2005/4244.shtml 以表谢意
dtree是一个免费的javascript脚本,只需定义有限的几个参数,就可以做出漂亮的树型菜单。下载目录:http://www.destroydrop.com/javascripts/tree/
1)在数据库建tree_info表,有nodeId,parentNodeId,nodeName,nodeUrl四个字段,来存储节点信息。
2)编写java类,用于从数据库找出节点信息,并且生成javascript脚本。
关键方法为:
StringBuffer contents = new StringBuffer();
contents.append("<!-- ");
contents.append("d=new dTree('d'); ");// create a array in
// javascript
TreeInfo info = null;
for (int max = alist.size(), i = 0; i < max; i++) ...{
info = (TreeInfo) alist.get(i);
// define elements of array
contents.append("d.add("+info.getNodeId()+",");
contents.append(info.getParentId()+",");
contents.append("'"+info.getNodeName()+"',");
contents.append("'"+info.getUrl()+"'");
contents.append("); ");
}
contents.append("document.write(d); ");
contents.append("//-->");
return contents.toString();
}
3)再通过标签
public int doEndTag() throws JspException ...{
StringBuffer tree = new StringBuffer();
tree.append("<div class="dtree"> ");
tree.append("<script type="text/javascript"> ");
tree.append(TreeUtil.createTreeInfo(TreeUtil.retrieveNodeInfos()));
tree.append("</script> ");
tree.append("</div> ");
try...{
pageContext.getOut().println(tree.toString());
}catch(IOException ioe)...{
ioe.printStackTrace();
}
return super.doEndTag();
}
}
test.jsp
<%@ page language="java"%>
<%@ taglib uri="/WEB-INF/tree.tld" prefix="tree"%>
<html>
<head>
<title>Tree example</title>
<link rel="StyleSheet" href="dtree/tree.css" type="text/css">
<script type="text/javascript" src="dtree/dtree.js"></script>
</head>
<body>
<b>Tree example :</b>
<tree:init/>
</body>
</html>
关键API:
add()
Adds a node to the tree.
Can only be called before the tree is drawn.
id, pid and name are required.
Parameters
Name
Type
Description
id
Number
Unique identity number.
pid
Number
Number refering to the parent node. The value for the root node has to be -1.
name
String
Text label for the node.
url
String
Url for the node.
title
String
Title for the node.
target
String
Target for the node.
icon
String
Image file to use as the icon. Uses default if not specified.
iconOpen
String
Image file to use as the open icon. Uses default if not specified.
open
Boolean
Is the node open.
Example
mytree.add(1, 0, 'My node', 'node.html', 'node title', 'mainframe', 'img/musicfolder.gif');
- dtree动态生成树型结构
- Dtree动态生成树
- DTree生成漂亮的动态树型菜单
- Dtree+jQuery实现动态树结构
- Dtree+jQuery实现动态树结构
- Dtree+jQuery实现动态树结构
- Dtree+jQuery实现动态树结构
- 运用dtree组件动态生成目录树
- 运用dtree组件动态生成目录树
- Dtree+Jquery动态生成树节点
- Dtree+Jquery动态生成树节点
- dtree通过数据库动态生成树
- dtree连接数据库动态生成树菜单
- Dtree+Jquery动态生成树节点.
- Dtree+jQuery生成动态目录树
- Dtree+Jquery动态生成树节点
- dTree创建树型结构
- dtree 动态树型菜单
- session过期后登录页面嵌套在框架中问题的解决方案
- CAsyncSocket,CSocket内幕及其用法
- C++各大有名库的介绍(一)
- vs2003与vs2005编译区别
- 《Squid 中文权威指南》第1章 译者:彭勇华
- dtree动态生成树型结构
- 解决jspsmartupload上传下载的中文乱码问题
- 《Squid 中文权威指南》第2章 译者:彭勇华
- 收集的一些学习网址
- 本机时间显示收集----JS版本
- 什么是极限编程?什么是借口编程?什么是敏捷开发?
- 石头-剪刀-布
- 《Squid 中文权威指南》第3章 译者:彭勇华
- 俄罗斯方块