`
xxdd328
  • 浏览: 1445 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
最近访客 更多访客>>
社区版块
存档分类
最新评论

利用dTree展示目录结构

    博客分类:
  • java
阅读更多

最近项目中需要向用户暴露一个目录,并向用户友好得展示出来,所以就选择了dTree这个js框架,地址:

http://www.destroydrop.com/javascripts/tree/dtree.zip

这里用struts2结合dtree展示目录结构,部分代码如下:

DtreeUtil.java

 

package com.coship.util;

import java.io.File;

public class DtreeUtil {
	private static int globalNum = 1;

	private static final int ROOT_ID = 0;

	private static final int ROOT_PID = -1;

	private static final String FILE_SEPARATOR = "/";

	private static final String LINE_BREAK = "\n";

	public static String getDtreeCode(String rootDirPath) {
		StringBuffer buffer = new StringBuffer();
		buffer.append("d = new dTree('d');" + LINE_BREAK);
		buffer.append("d.add(" + ROOT_ID + "," + ROOT_PID + ",'" + rootDirPath
				+ "','" + rootDirPath + "');" + LINE_BREAK);
		DtreeUtil.recursive(rootDirPath, ROOT_ID, buffer);
		buffer.append("document.write(d);" + LINE_BREAK);
		String dTreeCode = buffer.toString();

		return dTreeCode;
	}

	private static void recursive(String dirPath, int pid, StringBuffer buffer) {
		File curDir = new File(dirPath);

		String[] nameOfFiles = curDir.list();

		for (String nameOfFile : nameOfFiles) {
			String curFilePath = dirPath + FILE_SEPARATOR + nameOfFile;
			int id = globalNum++;
			File curFile = new File(curFilePath);
			buffer.append("d.add(" + id + "," + pid + ",'" + nameOfFile + "','"
					+ curFilePath + "');" + LINE_BREAK);
			if (curFile.isDirectory()) {
				DtreeUtil.recursive(curFilePath, id, buffer);
			}
		}
	}

	public static void main(String[] args) {
		String rootDirPath = "E:/study";
		String dTreeCode = DtreeUtil.getDtreeCode(rootDirPath);
		System.out.println(dTreeCode);
	}
}

 

DtreeAction.java

 

package com.coship.action;

import com.coship.util.DtreeUtil;
import com.opensymphony.xwork2.ActionSupport;

public class DtreeAction extends ActionSupport {
	private static final long serialVersionUID = 1L;

	private String path;

	private String dTreeCode;

	public String getdTreeCode() {
		return dTreeCode;
	}

	public void setdTreeCode(String dTreeCode) {
		this.dTreeCode = dTreeCode;
	}

	public String getPath() {
		return path;
	}

	public void setPath(String path) {
		this.path = path;
	}

	public String dtree() {
		this.dTreeCode = DtreeUtil.getDtreeCode(this.path);
		return SUCCESS;
	}

}

 

dTree.jsp

 

<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Dtree</title>
<link rel="StyleSheet" href="dtree.css" type="text/css" />
<script type="text/javascript" src="dtree.js"></script>
</head>
<body>
<div class="dtree">

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

<script type="text/javascript">
<!--
	<s:property value="dTreeCode" />
//-->
</script></div>
</body>
</html>

 在第一个页面输入要展示的目录路径:



 提交后,将展示目录树结构:


 

  • 大小: 20.6 KB
  • 大小: 38.4 KB
分享到:
评论

相关推荐

    Dtree目录树下载

    开发者需要对这个文件有一定的了解,虽然通常情况下不需要直接修改,但理解其工作原理有助于更好地利用DTree进行开发。 `中国java下载站.url`可能是一个链接快捷方式,指向一个提供Java相关资源的网站,对于DTree的...

    dtree实现树形结构

    例如,在React中,可以创建一个自定义组件来展示树形结构,并利用dtree库处理数据逻辑。 总之,"dtree实现树形结构"是指利用dtree这个JavaScript库来创建、操作和显示具有层级关系的数据结构。这个过程涉及到了数据...

    Dtree树形结构菜单

    例如,通过JavaScript对象来表示树形结构,然后利用Dtree的API来创建和更新菜单。例如,`dTree('myTree', data)`会创建一个名为'myTree'的树,并用'data'对象填充节点。同时,JavaScript可以处理用户的点击事件,...

    利用dtree组件展示的树形类表

    `dtree`组件是一个常用的工具,它专门用于在Web应用程序中创建和展示树状结构,提供了一种用户友好的界面来探索和操作多级数据。本篇文章将深入探讨如何利用`dtree`组件来实现树形类表,并分享相关的知识点。 首先...

    Dtree目录树

    在IT领域,目录树(Directory Tree)是一种表示文件系统中目录结构的方式,它以树状的形式展示各级目录及其包含的文件。"Dtree目录树"是针对这一概念的一个实现,通常是一个程序或库,用于创建和操作可视化的目录树...

    Dtree树形结构连接数据库的具体实现代码

    本文将详细介绍如何在JSP环境中利用Dtree组件实现与数据库的交互,动态生成树形结构。 #### 二、技术准备 为了实现本文所述的功能,需要完成以下准备工作: 1. **安装SQL Server 2000 JDBC驱动**:确保服务器环境...

    oracle树形结构,结合dtree插件使用显示树状结构菜单

    这样的界面对于导航复杂的层级结构非常有用,例如网站的导航菜单或文件系统的目录树。 在实际应用中,结合Oracle和dtree,开发者需要做以下几步工作: 1. **设计数据库结构**:根据业务需求设计表结构,确定表示...

    ajax,servlet动态加载dtree

    这个项目可能是一个文件管理系统或者目录浏览应用,其中dtree用于展示文件或目录结构,而Ajax和Servlet则负责后台数据的交互和动态更新。 1. **Ajax**:Ajax是一种在不刷新整个页面的情况下,与服务器交换数据并...

    java树状结构生成代码dtree

    为了更好地利用dtree,你需要理解JavaScript和JSON的基本知识,以及如何在Java中处理HTTP请求和响应。同时,熟悉JSP和Servlet的概念也十分必要,因为它们是Java服务器端与dtree通信的主要途径。如果遇到性能问题,还...

    dtree树形代码案例

    dtree通常是一个JavaScript库,特别与jQuery结合使用,用于在网页上展示层次化的数据,如目录结构、组织架构或者导航菜单等。这种树形结构能够帮助用户更直观地理解和操作复杂的层级关系。 描述中的“dtree jquery ...

    dtree实现的树支持多选

    【dtree实现的树支持多选】是一种在网页交互中常用的数据展示和操作方式,尤其在数据层级结构复杂时,如文件系统、组织结构或菜单导航等场景。DTree(通常指的是JavaScript实现的树形控件)允许用户通过勾选节点来...

    dtree目录树代码

    总之,“dtree目录树代码”是一个强大的工具,它利用JavaScript实现了在不同浏览器上的无限级目录菜单,为用户提供直观的导航体验。理解并运用这些核心概念,可以创建出高效、灵活的目录树解决方案。

    json+dtree定时刷新dtree

    DTREE,全称Data Tree,是一种数据展示控件,通常用在图形用户界面中,用于以树形结构展示数据,它允许用户展开、折叠节点,方便地浏览和操作层次结构数据。 在"json+dtree定时刷新dtree"这个主题中,我们主要关注...

    dtree+鼠标右键

    2. **运行**:安装完成后,可以通过命令行调用dtree命令,例如`dtree /path/to/start`,这将从指定路径开始展示整个目录结构。 3. **右键扩展**:鼠标右键功能通常是通过集成到终端模拟器或者使用脚本实现的。当...

    dtree树forhtml

    - **节点操作**:利用dtree提供的API进行添加、删除、修改节点的操作。 3. **实现原理**: - **JavaScript操作DOM**:dtree主要通过JavaScript来操控DOM元素,实现节点的增删改查以及展开折叠的效果。 - **事件...

    简洁的树形 -- dTree

    【简洁的树形 -- dTree】是一个开源的JavaScript库,专为在Web应用中展示层次结构数据而设计。dTree以其简洁的代码、高效的性能和...通过深入学习和实践,开发者可以充分利用dTree的强大功能,提升Web应用的用户体验。

    dtree.js + dtree.css

    在前端开发中,dtree.js和dtree.css是一对常用的库,它们主要用于构建交互式的树状目录结构。这篇文章将深入探讨这两个文件的核心功能,使用方法,以及在实际项目中的应用。 首先,dtree.js是一个JavaScript库,它...

    DTree控件介绍_原创

    **DTree控件详解** DTree控件是一种在软件开发中常见的用于展示层次结构数据的图形界面组件。它通常被用在需要展示目录结构、组织架构、产品分类等...通过深入学习和实践,你可以更好地利用DTree控件来解决实际问题。

    dtree开发工具

    **dtree开发工具详解** **一、dtree简介** dtree是一种基于JavaScript的开源开发工具,主要用于在网页中创建和展示分级目录结构。...在实际开发中,合理利用dtree可以极大地提高页面的可读性和用户的交互体验。

    javascript树形菜单Dtree插件

    应尽可能减少一次性加载的数据量,利用Dtree的异步加载功能。 2. **兼容性考虑**:确保Dtree插件在主流浏览器上的表现良好,必要时需要添加polyfill以兼容老版本浏览器。 3. **用户体验**:合理设计菜单层次和节点...

Global site tag (gtag.js) - Google Analytics