树形导航栏应该是非常常见和经典的结构,但是一般项目中都会使用动态的树形结构,也就是这个结构可以根据你的
要求动态的增加或者减少,而且所有的内容都是通过读取数据库得到,下面我们来做一个这样的例子。
首先需要下载dtree,这个网上非常多,随便下载。解压后里面有dtree.js和dtree.css,还有img这三个文件就够
了,导入到你的工程目录下面。然后就是使用了。既然是动态树形结构,首先需要常见数据库表,下面我把我常见的表
结构看一下
CREATE TABLE `treeinfo` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`nodeid` int(10) unsigned NOT NULL,
`parentid` int(10) unsigned NOT NULL,
`name` varchar(255) NOT NULL,
`url` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8;
自带的例子非常经典
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>Destroydrop » Javascripts » Tree</title>
<link rel="StyleSheet" href="dtree.css" type="text/css" />
<script type="text/javascript" src="dtree.js"></script>
</head>
<body>
<div class="dtree">
<script type="text/javascript">
<!--
d = new dTree('d');
d.add(0,-1,'');
d.add(1,0,'建筑业面临的挑战和机遇','example01.html');
d.add(2,0,'对建筑信息化的理解','example01.html');
d.add(3,0,'施工企业解决方案','example01.html');
d.add(4,0,'系统的部署','example01.html');
d.add(5,4,'总体部署','example01.html');
d.add(6,4,'部署特征','example01.html');
d.add(7,6,'计划管理','example01.html');
d.add(8,6,'成本管理','example01.html');
d.add(9,6,'项目管理','example01.html');
d.add(10,6,'物流管理','example01.html');
d.add(11,6,'财务管理','example01.html');
document.write(d);
//-->
</script>
</div>
</body>
</html>
Functions
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');
add方法的参数已经在上面了。然后就是使用了,我是开发的自定义标签来完成对数据库的访问然后放入到request域
里面进行获取。
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8" contentType="text/html; charset=UTF-8"%>
<%@taglib uri="http://www.bird.com" prefix="s"%>
<%@page language="java" import="java.util.List"%>
<%@page language="java" import="oop.hg.ytu.beans.TreeBean"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<link rel="stylesheet" href="/JavaLessonSite/dtree.css" type="text/css"></link>
<script type="text/javascript" src="/JavaLessonSite/dtree.js"></script>
</head>
<body>
<s:getList/>
<div class="dtree">
<script type="text/javascript">
d = new dTree('d');
d.add(0,-1,'');
<%
@SuppressWarnings("unchecked")
List<TreeBean> list = (List<TreeBean>)request.getAttribute("list");
for(int i = 0; i < list.size(); i++){
TreeBean bean = (TreeBean)list.get(i);
%>
d.add(<%=bean.getNodeId()%>,<%=bean.getParentId()%>,'<%=bean.getName()%>',
'<%=bean.getUrl()%>');
<%
}
%>
document.write(d);
</script>
</div>
</body>
</html>
<s:getList/>
这个是自己开发的标签,用来完成对数据库的访问和封装。
下面的就是JSP代码嵌套javascript
分享到:
相关推荐
JS组件dtree轻松实现树型菜单:详细介绍应用dtree构建一个JavaScript树型菜单
在struts里的实现dtree通用树型结构 可以看看 不错的!
dtree支持动态添加,删除节点dtree支持动态添加,删除节点dtree支持动态添加,删除节点dtree支持动态添加,删除节点
javascript树型菜单(Dtree和Xtree) dtree构建动态树型菜单
目前有很多的树形菜单组件(比如ext),dtree是一种简单易懂的js组件,不需要复杂的操作即可生产,同时支持动态从数据库引入数据。 dTree可以不用添加任何页面而直接用代码实现多个栏目,并可以实现无限分级,下面...
一般treeview可以减少代码的变成让结构tree更快的设置
无限级可刷新Js树型菜单 dTree 无限级可刷新Js树型菜单 dTree
本人这段时间正巧要做一个省市县的树状结构图,公司之前用的dtree实现起来效率太低,半天打不开页面,于是考虑用jquery动态加载,通过网上查资料,学习别人的列子,现将本人所整理的树状结构实例上传。测试数据库为...
NULL 博文链接:https://spllot.iteye.com/blog/471737
JS组件dtree轻松实现树型菜单。详细的操作过程.
含有直接利用dtree创建树,和从数据库中读取树结点信息然后创建树。
DTree非动态jsp实现
IFrame框架收缩与JS的DTree树型菜单 本实例Demo实现IFrame框架结构的左右上下收缩,左侧采用了DTree树结构菜单。 --------------------------------------------- This is top! ----------------------------------...
JAVAscript带CHECKBOX树型菜单
基于java的开发源码-JSP树型菜单 DTree.zip 基于java的开发源码-JSP树型菜单 DTree.zip 基于java的开发源码-JSP树型菜单 DTree.zip 基于java的开发源码-JSP树型菜单 DTree.zip 基于java的开发源码-JSP树型菜单 DTree...
无限级可刷新Js树型菜单 dTree,功能比较强大,值得参考。
dtree很好用,实用,在好多项目已经实用了。
JSP树型菜单 DTree.zip
如何使用DTREE构建树菜单,包括构建动态树和静态树
dtree实现动态插入