- 浏览: 919798 次
- 性别:
- 来自: 黑龙江
文章分类
- 全部博客 (209)
- struts1 (3)
- hibernate3 (19)
- java (13)
- spring2 (5)
- netBeans (1)
- eclipse (1)
- JSF (1)
- DIV+CSS篇章 (1)
- jFreeChart+Oracle之曲线,柱状及饼状图的实现 (1)
- JSF知识与技巧 (3)
- Oracle数据类型的介绍与比较 (2)
- J2EE (2)
- Ajax技术 (4)
- javaScript技术 (25)
- struts2 (16)
- C/C++程序设计 (1)
- oracle系统学习 (29)
- 算法分析 (0)
- Linux实践 (7)
- extjs开发经验 (13)
- flex开发总结 (1)
- FusionCharts总结 (0)
- 高级数据库总结 (0)
- SVG拓扑图开发总结 (0)
- CSS (1)
- CSS使用简介 (1)
- SVG (0)
- DOJO (0)
- Junit测试 (0)
- lucene (24)
- solr (6)
- tokyo tyrant 技术 (7)
- Html5 (1)
- 算法与数据结构 (0)
- 物联网相关技术学习 (0)
- UI设计 (1)
- webservice (0)
- Android (5)
- hibernate4 (3)
- solrcloud (0)
- dorado5 (0)
- dorado7 (0)
- elasticsearch (0)
- GWT (0)
- node.js (0)
- 并发编程 (1)
- 大数据 (1)
- 项目经验 (5)
最新评论
-
cs261244787:
楼主好人! 平安
struts2,hibernate4,spring3配置时问题汇总及解决办法 -
wxluck666:
我也赞一个 很有用
struts2,hibernate4,spring3配置时问题汇总及解决办法 -
wxluck666:
我也赞一个 很有用
struts2,hibernate4,spring3配置时问题汇总及解决办法 -
xinsiyou:
牛逼,就是样式被搞没了
JS实现选项右移,左移,向上,向下调整顺序 -
unnamed__:
这代码风格就像一坨翔
java获取数据库的列名,类型等信息
dtree是一个免费的javascript脚本,只需定义有限的几个参数,就可以做出漂亮的树型菜单。下载目录:http://www.destroydrop.com/javascripts/tree/
以下是dtree的用法示例:
1)初始化菜单
<script type="text/javascript">
<!--
var Tree = new Array;
// nodeId | parentNodeId | nodeName | nodeUrl
Tree[0] = "1|0|Page 1|#";
Tree[1] = "2|1|Page 1.1|#";
Tree[2] = "3|1|Page 1.2|#";
Tree[3] = "4|3|Page 1.2.1|#";
Tree[4] = "5|1|Page 1.3|#";
Tree[5] = "6|2|Page 1.1.1|#";
Tree[6] = "7|6|Page 1.1.1.1|#";
Tree[7] = "8|6|Page 1.1.1.2|#";
Tree[8] = "9|1|Page 1.4|#";
Tree[9] = "10|9|Page 1.4.1|#";
Tree[10] = "11|0|Page 2|#";
//-->
</script>
2)调用函数
<div class="tree">
<script type="text/javascript">
<!--
createTree(Tree,1,7); // starts the tree at the top and open it at node nr. 7
//-->
</script>
</div>
分以下步骤实现动态的树型菜单:
1)在数据库建tree_info表,有nodeId,parentNodeId,nodeName,nodeUrl四个字段,来存储节点信息。
2)编写java类,用于从数据库找出节点信息,并且生成javascript脚本。
3)编写tag类。用于封装逻辑,简化jsp的开发。
4)建一个web程序进行测试。
1)在数据库建表,脚本如下:
CREATE TABLE `test`.`tree_info` (
`node_id` INTEGER UNSIGNED NOT NULL DEFAULT -1,
`parent_id` INTEGER UNSIGNED NOT NULL DEFAULT -1,
`node_name` VARCHAR(45) NOT NULL,
`ref_url` VARCHAR(45) NOT NULL,
PRIMARY KEY(`node_id`)
)
我使用mysql数据库,如果脚本细节有出入,请自行修改
按照上面的dTree示例插入数据
2)编写TreeInfo.java,这个类用于封装节点信息
package com.diegoyun.web.tree;
/**
* @author Diegoyun
* @version 1.0
*/
public class TreeInfo {
private int nodeId = -1;//node id
private int parentId = -1;//parentId
private String nodeName = null;//node name
private String url = null;//url references
return nodeId;
}
this.nodeId = nodeId;
}
return parentId;
}
this.parentId = parentId;
}
return nodeName;
}
this.nodeName = nodeName;
}
return url;
}
this.url = url;
}
编写TreeUtil.java,用于从数据库得到节点信息,封装到TreeInfo对象,并生成javascript脚本
TreeUtil.java
package com.diegoyun.web.tree;
import java.util.Collection;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Connection;
import java.sql.DriverManager;
* @author Diegoyun
* @version 1.0
*/
public class TreeUtil {
public static List retrieveNodeInfos(){
List coll = new ArrayList();
String host = "localhost";
String port = ":3306";
String serverID = "test";
String userName = "root";
String userPwd = "root";
String url = "jdbc:mysql://" + host + port + "/" + serverID ;
PreparedStatement ps = null;
ResultSet rs = null;
try{
Class.forName(driverName).newInstance();
conn = DriverManager.getConnection(url , userName , userPwd);
String sql = "select * from tree_info";
ps = conn.prepareStatement(sql);
rs = ps.executeQuery();
while(rs!=null && rs.next()){
info = new TreeInfo();
info.setNodeId(rs.getInt(1));
info.setParentId(rs.getInt(2));
info.setNodeName(rs.getString(3));
info.setUrl(rs.getString(4));
coll.add(info);
}
// if(rs!=null){
// rs.close();
// rs=null;
// }
// if(ps!=null){
// ps.close();
// ps=null;
// }
}catch(Exception e){
System.out.println(e);
}
return coll;
}
public static String createTreeInfo(List alist){
StringBuffer contents = new StringBuffer();
contents.append("<!--\n");
contents.append("var Tree = new Array;");//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("Tree[");
contents.append(i);
contents.append("]=\"");
contents.append(info.getNodeId());
contents.append("|");
contents.append(info.getParentId());
contents.append("|");
contents.append(info.getNodeName());
contents.append("|");
contents.append(info.getUrl());
contents.append("\";");
}
contents.append("//-->");
}
public static void main(String[]args){
List alist = TreeUtil.retrieveNodeInfos();
// TreeInfo info = null;
// for(Iterator i = c.iterator();i.hasNext();){
// info = (TreeInfo)i.next();
// System.out.println("*****" + info.getNodeName());
// }
System.out.println(TreeUtil.createTreeInfo(alist));
}
}
InitTreeTag.java
package com.diegoyun.web.taglibs;
import com.diegoyun.web.tree.TreeUtil;
import javax.servlet.jsp.tagext.TagSupport;
import javax.servlet.jsp.JspException;
import java.io.IOException;
* @author Diegoyun
* @version 1.0
*/
public class InitTreeTag extends TagSupport{
StringBuffer tree = new StringBuffer();
tree.append("<script type=\"text/javascript\">\n");
tree.append(TreeUtil.createTreeInfo(TreeUtil.retrieveNodeInfos()));
tree.append("</script>\n");
try{
pageContext.getOut().println(tree.toString());
}catch(IOException ioe){
ioe.printStackTrace();
}
return super.doEndTag();
}
}
import javax.servlet.jsp.JspException;
import java.io.IOException;
* @author Diegoyun
* @version 1.0
*/
public class ShowTreeTag extends TagSupport{
public int doEndTag() throws JspException {
StringBuffer buffer = showTree();
try {
pageContext.getOut().println(buffer.toString());
}
catch (IOException ioe) {
ioe.printStackTrace();
}
return super.doEndTag();
}
private StringBuffer showTree(){
StringBuffer sb = new StringBuffer();
sb.append("<div class=\"tree\">\n");
sb.append("<script type=\"text/javascript\">\n");
sb.append("<!--\n");
sb.append("createTree(Tree,1,7);\n");
sb.append("//-->\n");
sb.append("</script>\n");
sb.append("</div>\n");
return sb;
}
}
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE taglib
PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN"
"http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd">
<taglib>
<tlib-version>1.0</tlib-version>
<jsp-version>1.2</jsp-version>
<short-name>tree</short-name>
<!--initTreeTag-->
<tag>
<name>init</name>
<tag-class>com.diegoyun.web.taglibs.InitTreeTag</tag-class>
<body-content>empty</body-content>
</tag>
<!--ShowTreeTag-->
<tag>
<name>show</name>
<tag-class>com.diegoyun.web.taglibs.ShowTreeTag</tag-class>
<body-content>empty</body-content>
</tag>
</taglib>
<%@ page language="java"%>
<%@ taglib uri="/WEB-INF/tlds/tree.tld" prefix="tree"%>
<html>
<head>
<title>Tree example</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="StyleSheet" href="tree.css" type="text/css">
<script type="text/javascript" src="tree.js"></script>
<tree:init/>
</head>
<b>Tree example :</b><br /><br />
<tree:show/>
<br /><br />
</html>
发表评论
-
JQuery zTree插件
2012-01-10 16:55 1260JQuery zTree插件。好东西!很实用! -
JavaScript在IE浏览器和Firefox浏览器中的差异总结
2011-12-27 10:17 13891.HTML对象的 id 作为对象名的问题 IE:HTML ... -
javascript继承方式
2011-12-24 15:41 10761.对象冒充 引用 functio ... -
javascript中定义对象方式
2011-12-24 15:10 13821.在javascript中,可以动态添加对象的属性,也可以动 ... -
js原始数据类型、强制类型转换、typeof运算符的使用实例
2011-12-24 15:10 3232js中存在5中原始数据类型: 1.Undefined(未定义 ... -
js中Function对象
2011-12-24 15:10 29651.Undefined对象只有一个 ... -
js全选与反选、收缩与展开
2011-12-23 10:19 1150<!DOCTYPE HTML PUBLIC " ... -
js验证数字
2011-12-23 10:02 1224<script type="text/jav ... -
Cookie对象使用
2011-12-23 10:02 10781.cookie对象: 是一 ... -
javascript内置对象
2011-12-23 08:32 1326图像对象: 导航对象: 窗口对象: 格式 ... -
javascript定时器
2011-12-23 08:32 11591.setTimeout():指定在一段 ... -
javascript事件控制
2011-12-21 08:35 10101.实现类似<a>标签的功能 <scrip ... -
javascript自定义对象
2011-12-21 08:35 1042实例: <script type="text ... -
javascript中字符串的使用方法
2011-12-21 08:34 11051.字符串定义: var str = new Stri ... -
javascript内置函数
2011-12-20 16:21 10941.函数说明: join():如何使用 join() 方法 ... -
javascript内置的默认对象
2011-12-20 16:08 12351.日期对象(Date): <script typ ... -
javascript对象创建方式
2011-12-20 15:38 9841.with使用方式。 <script type=& ... -
javascript深度解析
2011-12-20 15:23 1337一.概述 javascript是网景公司开发的基于客户端浏览 ... -
html滑动门实现
2011-12-21 08:34 1335滑动门实现 -
收集的非常不错的js脚本
2008-09-25 11:27 15051 >屏蔽功能类 1.1 ...
相关推荐
本文将深入探讨如何使用dtree来构建JavaScript树型菜单,并分享相关知识点。 首先,了解dtree的基本概念。dtree是一个纯JavaScript编写的组件,不需要依赖其他库如jQuery,这使得它在各种环境下都能运行良好。它的...
总之,在Java中构建树型菜单,结合JavaScript库如Dtree和Xtree,可以实现动态、交互性强的用户界面。通过合理的设计和优化,可以为用户提供直观且高效的导航工具,提升Web应用的整体体验。在实践中,务必关注性能和...
在本案例中,我们讨论的是一款名为"dtree"的JavaScript库,它能够帮助开发者创建具有动态效果的树型菜单。下面将详细介绍这款菜单的实现原理和关键知识点。 首先,`dtree.js`是核心JavaScript文件,包含了树型菜单...
在这个场景下,"js动态树型结构 树型菜单"指的是使用JavaScript实现的可以动态加载、展示和操作的树状菜单系统。 树型结构是一种数据表示形式,由节点和边组成,每个节点可以有零个或多个子节点。在JavaScript中,...
《JSP树型菜单DTree深度解析》 在Web开发中,树型菜单是一种常见的界面元素,用于组织和展示层次化的数据。JSP(JavaServer Pages)中的DTree是一款高效且灵活的树型菜单实现,它结合了HTML、JavaScript以及CSS技术...
总的来说,这个Java JSP实例提供了构建动态树型菜单的一个完整解决方案,涵盖了前端的样式设计、API文档、示例代码以及必要的图像资源。通过学习和使用这个实例,开发者可以掌握如何在自己的Java Web应用中实现类似...
在网页开发中,构建交互式的树型菜单是常见的需求,用于组织和展示层次结构的数据。在本主题中,我们将深入探讨“dtree”、“xtree”以及“jquery-treeview”这三个JavaScript插件,它们都是用来创建这样的菜单的...
4. **dtree.js**:这是DTree的核心JavaScript文件,包含了实现树型菜单功能的代码。这个文件可能包含了构造树形结构、处理用户交互、动态加载数据等功能。开发者可以通过查看源码来深入理解DTree的内部工作机制,...
在example01.html中,你可以看到如何在JSP页面中引入DTree.js和相关的CSS样式文件(dtree.css)以构建树型菜单。dtree.css负责菜单的布局和美化,确保在不同的浏览器和设备上都能有良好的显示效果。 DTree的使用...
【标题解析】 "基于Java的源码-JSP树型菜单 DTree.zip" 这个标题揭示了我们正在处理一个与Java编程相关的项目,具体来说是JSP(Java ...对于希望深入理解或使用DTree树型菜单的开发者来说,这些都是不可或缺的知识。
总结来说,`dTree` 是一款强大的JavaScript库,适用于构建无限级、可刷新的树型菜单,其丰富的功能、良好的性能和易用性使得它在网页开发中具有广泛的应用价值。无论是在企业级项目还是个人作品中,`dTree` 都能成为...
"无限级可刷新Js树型菜单 dTree" 是一个JavaScript库,用于在Web应用中创建能够无限层级展开和刷新的树形菜单。这个标题表明该库特别适用于那些需要展示复杂层次结构数据的场景,比如组织结构、文件系统或者导航菜单...
这个压缩包"基于Java的实例源码-JSP树型菜单 DTree.zip"包含了一个使用Java技术构建的JSP树型菜单应用。这个菜单系统被称为DTree,它在Web应用程序中常用于展示层次结构的数据,例如目录结构、组织架构或者多级分类...
在前端开发中,Dtree和Xtree是两种常见的JavaScript实现树型菜单的库。下面将详细介绍这两个库以及相关知识点。 1. Dtree(Dynamic Tree) Dtree是一个轻量级的JavaScript库,它提供了创建动态树形菜单的功能。这...
JavaScript dTree 是一个轻量级的库,用于创建具有复选框功能的交互式树形菜单。这种类型的菜单在Web应用程序中广泛使用,特别是在需要层级结构数据展示和多选操作的场景下。dTree 提供了一种高效且灵活的方式来组织...
使用Dtree创建树型菜单的步骤如下: 1. **初始化HTML结构**:首先,在HTML文档中添加一个容器元素,用于存放树型菜单。可以是一个`<div>`标签,设置相应的ID,如`#dtree`。 2. **准备JSON数据**:定义菜单的层级...
其次,`api.html`通常包含的是DTree组件的API文档,为开发者提供了使用这个树型菜单的指南。在这里,开发者可以了解到如何初始化菜单、添加、删除、修改节点,以及如何响应用户的交互事件,如点击、展开、收缩等。...
在给定的"dtree"文件中,可能包含了一个实现树型菜单动态加载的JavaScript库或者示例代码。这个库可能提供了创建、操作和管理树型菜单的功能,并且集成了Ajax请求以实现动态加载。通常,这样的库会提供API接口,如...
其中JavaScript部分使用了一个名为dTree的库来创建和管理树型菜单。dTree是一个轻量级的JavaScript插件,它提供了一系列API用于构建和操作树形结构的数据。 #### 2. HTML结构 HTML部分定义了页面的基本结构,包括...
总结来说,这个“很经典的OA树型菜单源代码”包含了构建树型菜单的前端展示和交互处理。理解树型菜单的工作原理、HTML与JavaScript的结合以及相关库的使用,对于开发人员来说,是提高用户体验和优化OA系统功能的重要...