Java zTree 的异步加载demo示例_第1页
Java zTree 的异步加载demo示例_第2页
Java zTree 的异步加载demo示例_第3页
Java zTree 的异步加载demo示例_第4页
Java zTree 的异步加载demo示例_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Java zTree 的异步加载demo示例最近需要使用树形展示权限,所以研究了一下Java Tree,其实java中有不少Tree展示,具体有如下几种: Tree的几种开源组件:1.dtree 2.ztree(国内的,api全中文,我用这个)3.JTree4.dhtmlxTree(国外的,种类齐全),网址为:#以后是我找的还不错的Tree组件,还有很多!具体使用方式请参考zTreeAPI或zTree Demo(1)编写数据库脚本添加数据(2)定义一个基本权限类:Competence.java查看文本copy to clipboard打印?1. public class C

2、ompetence   2.     private int id; / 编号  3.     private int pId;    / 父节点  4.     private int isParent;   / 是否父节点 &

3、#160;5.     private String name;    / 节点名称  6.     private int open;   / 是否打开  public class Competence private int id; / 编号private int pId;/ 父节点private int isParent;/ 是否父节点pri

4、vate String name;/ 节点名称private int open;/ 是否打开查看文本copy to clipboard打印?1. / 此处省略 get,set方法  / 此处省略 get,set方法查看文本copy to clipboard打印?1.   (3)创建BaseDao.java联接数据库查看文本copy to clipboard打印?1. package com.demo.test;  2.   3. import java.sql.Connect

5、ion;  4. import java.sql.DriverManager;  5. import java.sql.PreparedStatement;  6. import java.sql.ResultSet;  7. import java.sql.SQLException;  8. import java.sql.Statement;  9.   10. /* 11.  *&

6、#160;连接数据源  12.  * author 小奎 13.  */  14. public class BaseDao   15.      static Connection conn; / 创建联接  16.      PreparedStatement st; /&#

7、160;预执行类  17.      ResultSet rs; / 结果集  18.   19.     /* 20.      *  得到连接 21.      *  return connnection 22.   

8、;   */  23.     public static Connection getConnection()   24.         try   25.             / 加载驱动 

9、 26.             Class.forName("oracle.jdbc.driver.OracleDriver");  27.             try   28.        

10、0;        / 创建联接  29.                 conn = DriverManager.getConnection("jdbc:oracle:thin::1521:orcl", "scott", &qu

11、ot;scott");  30.                 System.out.println("- 打开连接 -");  31.              catch (SQLException

12、60;e)   32.                 System.out.println("- 连接失败 -");  33.                 e.printStackTr

13、ace();  34.               35.          catch (ClassNotFoundException e)   36.             

14、System.out.println("- 驱动加载失败 -");  37.             e.printStackTrace();  38.           39.         return 

15、;conn;  40.       41.   42.     /* 43.      * 关闭连接对象 44.      * param rs 45.      * param st 46.   &

16、#160;  * param conn 47.      */  48.     public static void closeConnection(ResultSet rs, Statement st, Connection conn)   49.       &#

17、160; try   50.             if (rs != null)   51.                 rs.close();  52.    

18、           53.             if (st != null)   54.                 st.close()

19、;  55.               56.             if (conn != null && !conn.isClosed()   57.      &#

20、160;          conn.close();  58.               59.             System.out.println("- 关闭连接 -&quo

21、t;);  60.          catch (SQLException e)   61.             System.out.println("- 关闭连接失败 -");  62.      &

22、#160;      e.printStackTrace();  63.           64.       65.   package com.demo.test;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStat

23、ement;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;/* * 连接数据源 * author 小奎 */public class BaseDao static Connection conn; / 创建联接 PreparedStatement st; / 预执行类 ResultSet rs; / 结果集/* * 得到连接 * return connnection */public static Connection getConnection() try / 加载驱动Clas

24、s.forName("oracle.jdbc.driver.OracleDriver");try / 创建联接conn = DriverManager.getConnection("jdbc:oracle:thin::1521:orcl", "scott", "scott");System.out.println("- 打开连接 -"); catch (SQLException e) System.out.println("- 连接失败 -");e.prin

25、tStackTrace(); catch (ClassNotFoundException e) System.out.println("- 驱动加载失败 -");e.printStackTrace();return conn;/* * 关闭连接对象 * param rs * param st * param conn */public static void closeConnection(ResultSet rs, Statement st, Connection conn) try if (rs != null) rs.close();if (st != null) s

26、t.close();if (conn != null && !conn.isClosed() conn.close();System.out.println("- 关闭连接 -"); catch (SQLException e) System.out.println("- 关闭连接失败 -");e.printStackTrace();查看文本copy to clipboard打印?1.   (4) 创建测试的类 Test.java 查看文本copy to clipboard打印?1. package com.

27、demo.test;  2.   3. import java.sql.Connection;  4. import java.sql.SQLException;  5. import java.util.ArrayList;  6. import java.util.List;  7.   8. public class Test extends BaseDao &

28、#160; 9.   10.     public List<Competence> getAllAuthorize()   11.         List<Competence> authorizes = new ArrayList<Competence>();  12.   &

29、#160;     Connection conn = getConnection(); / 得到联接  13.         try   14.             st = conn.prepareStatement(&

30、quot;select * from authorize2 ");  15.             rs = st.executeQuery(); / 得到结果集  16.             while (rs.

31、next()   17.                 Competence authorize = new Competence();  18.                 auth

32、orize.setId(rs.getInt("id");  19.                 authorize.setpId(rs.getInt("pid");  20.                

33、 authorize.setOpen(rs.getInt("open");  21.                 authorize.setIsParent(rs.getInt("isParent");  22.            

34、     authorize.setName(rs.getString("name");  23.                 / 添加到集合  24.              

35、60;  authorizes.add(authorize);  25.               26.          catch (SQLException e)   27.         

36、;    System.out.println("- 查询authorize失败 -");  28.             e.printStackTrace();  29.          finally   30.  &#

37、160;          closeConnection(rs, st, conn);  31.           32.         return authorizes;  33.      

38、; 34.       35.     /* 36.      * 拼接成json类型 37.      * return 38.      */  39.     public String getJSOND

39、ata()  40.         Test d = new Test();  41.         List<Competence> list=d.getAllAuthorize();  42.         StringBuff

40、er json=new StringBuffer("");  43.         String data=""  44.         for (int i = 0; i < list.size(); i+)  

41、60;45.             json.append("id:"+list.get(i).getId()+",");  46.             json.append("pId:"+list.get(i).getpId()+","); 

42、; 47.             json.append("name:""+list.get(i).getName()+"",");  48.             if (list.get(i).getIsParent() !=0) 

43、  49.                 json.append("isParent:"+list.get(i).getIsParent()+",");  50.               51.  

44、60;          if (list.get(i).getOpen() !=0)   52.                 json.append("open:"+list.get(i).getOpen()+",");  

45、53.               54.             data=json.substring(0,json.lastIndexOf(",")+","  55.          

46、;   json=new StringBuffer(data);  56.           57.         data=json.substring(0, json.length()-1)+""  58.         

47、;System.out.println(data);  59.         return data;  60.       61.     public static void main(String args)   62.       

48、;  Test demoTest=new Test();  63.         demoTest.getJSONData();  64.       65.   package com.demo.test;import java.sql.Connection;import java.sql.SQLException;import java.util.Ar

49、rayList;import java.util.List;public class Test extends BaseDao public List<Competence> getAllAuthorize() List<Competence> authorizes = new ArrayList<Competence>();Connection conn = getConnection(); / 得到联接try st = conn.prepareStatement("select * from authorize2 ");rs = st

50、.executeQuery(); / 得到结果集while (rs.next() Competence authorize = new Competence();authorize.setId(rs.getInt("id");authorize.setpId(rs.getInt("pid");authorize.setOpen(rs.getInt("open");authorize.setIsParent(rs.getInt("isParent");authorize.setName(rs.getString(&q

51、uot;name");/ 添加到集合authorizes.add(authorize); catch (SQLException e) System.out.println("- 查询authorize失败 -");e.printStackTrace(); finally closeConnection(rs, st, conn);return authorizes;/* * 拼接成json类型 * return */public String getJSONData()Test d = new Test();List<Competence> list

52、=d.getAllAuthorize();StringBuffer json=new StringBuffer("");String data=""for (int i = 0; i < list.size(); i+) json.append("id:"+list.get(i).getId()+",");json.append("pId:"+list.get(i).getpId()+",");json.append("name:""+li

53、st.get(i).getName()+"",");if (list.get(i).getIsParent() !=0) json.append("isParent:"+list.get(i).getIsParent()+",");if (list.get(i).getOpen() !=0) json.append("open:"+list.get(i).getOpen()+",");data=json.substring(0,json.lastIndexOf(","

54、;)+","json=new StringBuffer(data);data=json.substring(0, json.length()-1)+""System.out.println(data);return data;public static void main(String args) Test demoTest=new Test();demoTest.getJSONData();(4) 创建加载zTree 树的html或jsp页面 asyncLoad.html查看文本copy to clipboard打印?1. <!DOCTYPE&#

55、160;html>  2. <HTML>  3. <HEAD>  4. <TITLE>zTree Demo</TITLE>  5. <meta http-equiv="content-type" content="text/html; charset=UTF-8">  6. <link rel="stylesheet"

56、; href="./css/demo.css" type="text/css">  7. <!- 必须文件 zTreeStyle.css、jquery.ztree.core-x.js、jquery-x.min.js ->  8. <link rel="stylesheet" href="./css/zTreeStyle/zTreeStyle.css" type="

57、text/css">  9. <script type="text/javascript" src="./js/jquery-1.4.4.min.js"></script>  10. <script type="text/javascript" src="./js/jquery.ztree.core-3.5.js"></script>  11. <

58、script language="JavaScript">  12.     var setting =   13.         async :   14.             enable :&

59、#160;true, / 设置 zTree是否开启<strong>异步</strong>加载模式  15.             url : "asyncData/loadData2.jsp", / Ajax 获取数据的 URL 地址  16.     

60、        autoParam :  "id"     / <strong>异步</strong>加载时自动提交父节点属性的参数,假设父节点 node = id:1, name:"test",<strong>异步</strong>加载时,提交参数 zId=1  17.

61、         ,  18.         data: / 必须使用data  19.             simpleData :   20.      

62、60;          enable : true,  21.                 idKey : "id", / id编号命名 默认  22.     &

63、#160;           pIdKey : "pId", / 父id编号命名 默认   23.                 rootPId : 0 / 用于修正根节点父节点数据,即

64、 pIdKey 指定的属性值  24.               25.         ,  26.         / 回调函数  27.      &#

65、160;  callback :   28.             onClick : function(event, treeId, treeNode, clickFlag)   29.             &#

66、160;   / 判断是否父节点  30.                 if(!treeNode.isParent)  31.                    

67、 alert("treeId自动编号:" + treeNode.tId + ", 节点id是:" + treeNode.id + ", 节点文本是:" + treeN);      32.             

68、      33.             ,  34.             /捕获<strong>异步</strong>加载出现异常错误的事件回调函数 和 成功的回调函数  35.   &#

69、160;         onAsyncError : zTreeOnAsyncError,  36.             onAsyncSuccess : function(event, treeId, treeNode, msg)  37.   

70、60;               38.               39.           40.       41.   

71、;42.     / 加载错误提示  43.     function zTreeOnAsyncError(event, treeId, treeNode, XMLHttpRequest, textStatus, errorThrown)   44.         alert("加载错误:"

72、60;+ XMLHttpRequest);  45.       46.   47.     / 过滤函数  48.     function filter(treeId, parentNode, childNodes)   49.        &

73、#160;if (!childNodes)  50.             return null;  51.         for ( var i = 0, l = childNodes.length; i < l;&

74、#160;i+)   52.             childN = childN.replace(/.n/g, '.');  53.           54.       

75、60; return childNodes;  55.       56.   57.     / 渲染  58.     $(document).ready(function()   59.         $.fn.zTree.init($("#

76、treeDemo"), setting);  60.     );  61. </script>  62. </HEAD>  63. <BODY>  64.     <div>  65.         <ul id="tre

77、eDemo" class="ztree"></ul>  66.     </div>  67. </BODY>  68. </HTML>  <!DOCTYPE html><HTML><HEAD><TITLE>zTree Demo</TITLE><meta http-equiv="content-type&qu

78、ot; content="text/html; charset=UTF-8"><link rel="stylesheet" href="./css/demo.css" type="text/css"><!- 必须文件 zTreeStyle.css、jquery.ztree.core-x.js、jquery-x.min.js -><link rel="stylesheet" href="./css/zTreeStyle/zTreeStyle.css&q

79、uot; type="text/css"><script type="text/javascript" src="./js/jquery-1.4.4.min.js"></script><script type="text/javascript" src="./js/jquery.ztree.core-3.5.js"></script><script language="JavaScript">var setti

80、ng = async : enable : true, / 设置 zTree是否开启异步加载模式url : "asyncData/loadData2.jsp", / Ajax 获取数据的 URL 地址autoParam : "id" / 异步加载时自动提交父节点属性的参数,假设父节点 node = id:1, name:"test",异步加载时,提交参数 zId=1,data: / 必须使用data simpleData : enable : true,idKey : "id", / id编号命名 默认pIdKey

81、 : "pId", / 父id编号命名 默认 rootPId : 0/ 用于修正根节点父节点数据,即 pIdKey 指定的属性值,/ 回调函数callback : onClick : function(event, treeId, treeNode, clickFlag) / 判断是否父节点if(!treeNode.isParent)alert("treeId自动编号:" + treeNode.tId + ", 节点id是:" + treeNode.id + ", 节点文本是:" + treeN);

82、,/捕获异步加载出现异常错误的事件回调函数 和 成功的回调函数onAsyncError : zTreeOnAsyncError,onAsyncSuccess : function(event, treeId, treeNode, msg);/ 加载错误提示function zTreeOnAsyncError(event, treeId, treeNode, XMLHttpRequest, textStatus, errorThrown) alert("加载错误:" + XMLHttpRequest);/ 过滤函数function filter(treeId, parentN

83、ode, childNodes) if (!childNodes)return null;for ( var i = 0, l = childNodes.length; i < l; i+) childN = childN.replace(/.n/g, '.');return childNodes;/ 渲染$(document).ready(function() $.fn.zTree.init($("#treeDemo"), setting););</script></HEAD><B

84、ODY><div><ul id="treeDemo" class="ztree"></ul></div></BODY></HTML>(5) 创建一个接收的Servlet,本测试使用jsp代替 loadData.jsp查看文本copy to clipboard打印?1. <% page language="java" import="java.util.*" pageEncoding="utf-8"%>  2. <% page import="com.demo.test.*" %>  3.   4. <%  5.  

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论