`
爪哇GOOD
  • 浏览: 56096 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

js树结构,关于梅花树的动态显示,如mysql数据库关联

阅读更多
最近,本人用梅花树写了一个动态的树结构,跟大家一起交流交流,代码如下:
Treedao.java
public class TreeDao extends HibernateEntityDao<Tree> {

ResultSet rp = null;
ResultSet rs = null;
ResultSet rt = null;
int ids = 0;
int pids = 0;
String sql = null;

public String getTree(String path, String tst) throws Exception {
  System.out.println("开始构建树");
  readCSV csv = new readCSV();
  // tst="杭州";
  Connection conn = csv.conn();
  Statement stm = conn.createStatement();
  if (tst.equals("所有用户组")) {
   sql = "select * from tree";
  } else {
   sql = "select * from tree where txt='" + tst + "'";
  }
  ResultSet r = stm.executeQuery(sql);
  String tre = null;
  String tree = "tree";
  String aa = "浙江教育资源网实名库";
  String bb = "property";
  int cc = 0;
  int dd = 1;
  tre += "\n" + tree + ".nodes[\"" + cc + "_" + dd + "\"]=\"";
  tre += "text:" + aa + ";";
  tre += "icon:" + bb + ";";
  tre += "\"";
  if (tst.equals("所有用户组")) {
   int bob1 = 1;
   int bob2 = 111;
   String bobo = "教师日志管理";
   String bo = "property";
   String bp = "" + path + "logme.do?method=queryLog";
   tre += "\n" + tree + ".nodes[\"" + bob1 + "_" + bob2 + "\"]=\"";
   tre += "text:" + bobo + ";";
   tre += "icon:" + bb + ";";
   tre += "url:" + bp + ";";
   tre += "\"";
  }
  while (r.next()) {
   ids = Integer.parseInt(String.valueOf(r.getInt("id")));
   pids = Integer.parseInt(String.valueOf(r.getInt("parentId")));
   String txt = r.getString("txt");
   String icon = r.getString("icon");
   int  data=Integer.parseInt(String.valueOf(r.getInt("data")));
   String url = r.getString("url");
   //int data=Integer.parseInt(r.getString("data"));
   tre += "\n" + tree + ".nodes[\"" + pids + "_" + ids + "\"]=\"";
   tre += "text:" + txt + ";";
   tre += "icon:" + icon + ";";
   if (url != null) {
    tre += "url:" + path + "" + url
       + data+"";
   }
   tre += "\"";
   tre += ";";
  }
  String sql2 = "select * from tree where parentId='" + ids + "'";
  ResultSet rd = stm.executeQuery(sql2);
  if (rd.next() == false) {
   System.out.println("进入false");
   Connection con = csv.conn();
   Statement sta = con.createStatement();
   rp = stm.executeQuery(sql);
   while (rp.next()) {
    pids = Integer.parseInt(String.valueOf(rp.getInt("parentId")));
   }
   String sql3 = "select * from tree where id='" + pids + "'";
   rt = stm.executeQuery(sql3);
   while (rt.next()) {
    ids = Integer.parseInt(String.valueOf(rt.getInt("id")));
    pids = Integer.parseInt(String.valueOf(rt.getInt("parentId")));
    String txt = rt.getString("txt");
    String icon = rt.getString("icon");
    int  data=Integer.parseInt(String.valueOf(rt.getInt("data")));
    String url = rt.getString("url");
    tre += "\n" + tree + ".nodes[\"" + pids + "_" + ids + "\"]=\"";
    tre += "text:" + txt + ";";
    tre += "icon:" + icon + ";";
    if (url != null) {
     tre += "url:" + path + "" + url
       + data + "";
    }
    tre += "\"";
    tre += ";";
   }
   rs = stm.executeQuery(sql);
   System.out.println("已经构建完毕");
  } else {
   rs = stm.executeQuery(sql2);
  }
  while (rs.next()) {
   int id = Integer.parseInt(String.valueOf(rs.getInt("id")));
   int pid = Integer.parseInt(String.valueOf(rs.getInt("parentId")));
   String txt = rs.getString("txt");
   String icon = rs.getString("icon");
   int  data=Integer.parseInt(String.valueOf(rs.getInt("data")));
   String url = rs.getString("url");
   tre += "\n" + tree + ".nodes[\"" + pid + "_" + id + "\"]=\"";
   tre += "text:" + txt + ";";
   tre += "icon:" + icon + ";";
   if (url != null) {
    tre += "url:" + path + "" + url
      + data+ "";
   }
   tre += "\"";
   tre += ";";
  }
  System.out.println(tre);
  return tre;
}

public String getAddress(String address) throws Exception{
  String txt=null;
  int adderss=Integer.parseInt(address);
  readCSV csv = new readCSV();
  Connection conn = csv.conn();
  Statement stm = conn.createStatement();
  String sql="select txt from tree where id="+adderss;
  rs=stm.executeQuery(sql);
  while(rs.next()){
    txt=rs.getString("txt");
    System.out.println("txt:"+txt);
  }
  return txt;
}
public int getID(String address)throws Exception{
  int ids=0;
  readCSV csv = new readCSV();
  Connection conn = csv.conn();
  Statement stm = conn.createStatement();
  String sql="select id from tree where txt='"+address+"'";
rs=stm.executeQuery(sql);
  while(rs.next()){
   ids = Integer.parseInt(String.valueOf(rs.getInt("id")));;
  }
  return ids;
}
}
-----Test.jsp-----
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@page contentType="text/html; charset=utf-8"%>
<%@page import="xxxxx.dao.TreeDao"%>//
//此处为url获取
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

%>

<html>
  <head>
<script language="JavaScript" src="scripts/MzTreeView10.js"></script>
<style>
A.MzTreeview
{
   font-size: 9pt;
   padding-left: 3px;
}
a:link {
  color: #003399;
  text-decoration: none;
}
a:visited {
  color: 003399;
  text-decoration: none;
}
a:hover {
  color: #FF6600;
  text-decoration: none;
}
a:active {
  color: 003399;
  text-decoration: none;
}
</style>

<script language="JavaScript">
   var tree = new MzTreeView("tree");
  // alert(MzTreeView.getTreeNode(MzTreeView.selectedNodeIndex).getAttribute("text"));     
   tree.icons["property"] ="book.gif";
   tree.icons["book"] = "book.gif";
   tree.icons["css"]  = "book.gif";  
   tree.iconsExpand["book"] = "bookopen.gif"; //展开时对应的图片
      tree.iconsExpand["property"] = "bookopen.gif";
      tree.iconsExpand["css"] = "bookopen.gif";    
   tree.setIconPath("images/MzTreeView/"); //可用相对路径 
  <%
     TreeDao Tdao=new TreeDao();
     String tst=request.getAttribute("tst").toString();
     String tree=Tdao.getTree(basePath,tst);
     out.print(tree);
     %>
   tree.setURL("#");
   tree.setTarget("main");
   document.write(tree.toString());    //亦可用 obj.innerHTML = tree.toString();
</script>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
  </head>
  <body>&nbsp;
  </body>
</html>
请注意js树控件在下面附件中有下载
分享到:
评论

相关推荐

    MySQL数据库基础与实例教程所有资源

    在MySQL中,数据存储在表格中,表格之间可以建立关联,形成复杂的数据库结构。MySQL支持多种数据类型,如整数、浮点数、字符串、日期和时间等,可以根据实际需求选择合适的数据类型存储数据。 接下来,我们关注的是...

    mysql数据库基础.pdf

    MySQL数据库是世界上最流行的开源关系型数据库管理系统之一,其工作流程涉及多个步骤,这些步骤在处理SQL语句时至关重要。以下是对这些步骤的详细说明: 首先,客户端通过连接器与MySQL服务器建立连接。连接器负责...

    MySQL数据库应用与开发实训报告.doc

    学生需要理解索引的类型(如B树索引、哈希索引)及其创建和管理,以及如何创建和使用试图。 通过这些实训内容,学生不仅能在实践中理解和掌握数据库理论,还能提升实际操作技能,更好地应对数据管理的需求,为未来...

    基于C_S结构的MYSQL数据库浏览器设计与实现.pdf

    1. 树形控件:显示服务器上的所有数据库及其包含的表,呈现清晰的树状结构,类似于SQL Server的界面。 2. 列表控件:展示表的详细信息,如结构和记录,同时用于显示SQL查询结果。 3. 查询编辑器:用于编写和执行SQL...

    MySQL数据库原理及应用(第2版)(微课版)-配套教案.zip

    5. **索引与优化**:讨论索引的种类(如B树索引、哈希索引)及其对查询性能的影响,以及如何通过优化查询语句和创建合适索引来提升数据库效率。 6. **事务与并发控制**:介绍事务的ACID特性(原子性、一致性、隔离...

    mysql 树形结构查询

    MySQL 树形结构查询是指使用存储过程来实现 MySQL 数据库中的树形结构查询。这种查询方式可以高效地查询树形结构的数据,并且可以根据需要设置递归深度。 MySQL 中的树形结构查询可以使用存储过程来实现,存储过程...

    jmeter连接mysql数据库

    - **数据库URL**:填写MySQL的连接字符串,通常格式为`jdbc:mysql://&lt;hostname&gt;:&lt;port&gt;/&lt;database&gt;`,其中`&lt;hostname&gt;`是MySQL服务器地址,`&lt;port&gt;`是默认的3306,`&lt;database&gt;`是你想连接的数据库名。 - **驱动...

    MySQL数据库基础实例教程(第2版)(微课版)-教学课件.zip

    MySQL数据库基础实例教程是针对初学者的一套系统性学习资源,尤其适合想要了解数据库管理和开发的人群。本教程分为多个章节,涵盖了从基础到进阶的各个关键领域,旨在通过实例教学来帮助学习者深入理解MySQL的核心...

    动态加载树结构实现方法

    根据提供的信息,我们可以深入探讨关于“动态加载树结构实现方法”的相关知识点,特别是递归调用在树结构中的应用。 ### 动态加载树结构实现方法 #### 1. 树结构简介 树结构是一种非线性的数据结构,用于表示具有...

    MySQL数据库任务驱动式教程(第2版)(微课版)-电子教案.rar

    在本教程中,你将深入理解MySQL的基础概念,如数据库、表、字段和记录等,并学习如何创建、修改和删除这些数据库对象。 其次,任务驱动式学习方法强调通过实际任务来引导学习过程,使学生在解决问题的过程中掌握...

    BS实现树形结构(jsp+mysql数据库+设计文档)

    在本项目中,使用JSP(JavaServer Pages)技术进行前端页面渲染,结合MySQL数据库存储数据,实现动态加载和操作树形结构。 JSP是Java的一种服务器端脚本语言,用于生成动态Web内容。它允许开发人员在HTML页面中嵌入...

    MYSQL数据库树桩表

    MYSQL数据库结构表

    树状数据(多叉树)在数据库中存储的示例源码

    在IT领域,树状数据结构是一种非常重要的抽象概念,它广泛应用于各种场景,如文件系统、数据索引、网络路由等。多叉树是树结构的一种变体,每个节点可以有多个子节点,区别于二叉树(每个节点最多两个子节点)。在...

    MySQL数据库原理及应用(第2版)(微课版)-课程标准.zip

    此外,还将深入探讨如何使用SQL语言进行数据操作,如创建数据库、表结构,插入、更新和删除数据,以及复杂的查询操作,如联接(JOIN)、子查询和集合函数。 MySQL的事务处理和并发控制也是关键部分。事务是数据库...

    BS树形结构(jsp+mysql数据库+设计文档)

    在这个项目中,“BS树形结构(jsp+mysql数据库+设计文档)”是利用Java Web技术,即JSP(JavaServer Pages)和Servlet,以及MySQL数据库来实现的Web应用。下面将详细阐述这个项目的知识点。 1. **B/S架构**:B/S...

    MySQL数据库:物理设计.pptx

    在关系数据库中,物理结构涉及存储结构(如表格、B树、哈希表)和存取方法(如顺序扫描、索引查找)。例如,对于关系模式,需要决定哪些字段需要创建索引,是单一索引还是组合索引,以及是否需要设置唯一性约束。...

    pgsql数据库转mysql数据库步骤及注意.docx

    * 源数据库的数据类型转换后需要改变的情况,可以通过中间的树形结构图中修改。 * 对于源数据库的数据类型转换后需要改变的情况,可以批量修改。 * 对于需要转过去的库的内容,可以选择表结构、外键、索引、数据等等...

    MySql数据库性能优化

    MySql数据库性能优化是指通过调整和优化数据库的各种参数、结构和查询语句,提高数据库的运行速度和效率,减少资源占用和系统瓶颈。下面将详细介绍MySql数据库性能优化的相关知识点。 什么是优化? 优化是指通过...

    最新全国行政区域编码及mysql数据库(省/市/区县/街道)

    4.城乡划分代码说明:mysql数据库,树结构存储。包括:编码;名称;全称;所属省,市,区县,街道;拼音首字母;城市类型(直辖市,省会);同级下排序;深度;城乡分类代码及经纬度。 5.三级地址:...

Global site tag (gtag.js) - Google Analytics