




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、Java zTree的異步加載 demo示例最近需要使用樹形展示權(quán)限,所以研究了一下Java Tree其實(shí)java中有不少 Tree 展示,具體有如下幾種:Tree 的幾種開源組件:1. dtree2. ztree(國內(nèi)的,api全中文,我用這個(gè))3. JTree4. dhtmlxTree(國外的,種類齊全),網(wǎng)址為:http:#以后是我找的還不錯(cuò)的Tree組件,還有很多!具體使用方式請(qǐng)參考 zTreeAP或 zTree Demo(1)編寫數(shù)據(jù)庫腳本添加數(shù)據(jù)( 2)定義一個(gè)基本權(quán)限類:Competence.java查看文本 copy to clipboard 打印 ?1. public cla
2、ss Competence 2. private int id; / 編號(hào)3. private int pId;/父節(jié)點(diǎn)4. private int isParent; /是否父節(jié)點(diǎn)5. private String name; /節(jié)點(diǎn)名稱6. private int open; / 是否打開 查看文本 copy to clipboard 打印1./ 此處省略 get,set 方法 查看文本 copy to clipboard 打印 ?1.(3)創(chuàng)建BaseDao.java聯(lián)接數(shù)據(jù)庫查看文本 copy to clipboard 打印 ?2.3.import java.sql.Connectio
3、n;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. *連接數(shù)據(jù)源12. * authorxx13. */14. public class BaseDao 15. static Connection conn; / 創(chuàng)建聯(lián)接16. PreparedStatement st; / 預(yù)執(zhí)行類17. ResultSet
4、rs; /結(jié)果集18.19. /*20. *得到連接21. * return connnection22. */23. public static Connection getConnection() 24. try 25./ 加載驅(qū)動(dòng)26. Class.forName("oracle.jdbc.driver.OracleDriver");27. try 28./ 創(chuàng)建聯(lián)接29.conn = DriverManager.getConnection("jdbc: oracle:thin::1521:orcl","scott&qu
5、ot;, "scott");30.System.out.println(" 打開連接 ");31. catch (SQLException e) 32.System.out.println(" 連接失敗 ");33. e.printStackTrace();34. 35. catch (ClassNotFoundException e) 36.System.out.println(" 驅(qū)動(dòng)加載失敗 ");37. e.printStackTrace();38. 39. return conn;40. 41.42./*
6、43.* 關(guān)閉連接對(duì)象44. * param rs45. * param st46. * param conn47. */48. public static void closeConnection(ResultSet rs, Statement st, Connection conn) 49. try 50.if (rs != null) 51. rs.close();52. 53.if (st != null) 54.st.close();55.56.if (conn != null && !conn.isClosed() 57. conn.close();58. 59.S
7、ystem.out.println(" 關(guān)閉連接 ")60. catch (SQLException e) 61.System.out.println(" 關(guān)閉連接失敗 ");62. e.printStackTrace();63. 64. 65. 查看文本 copy to clipboard 打印 ?1.( 4)創(chuàng)建測(cè)試的類 Test.java 查看文本 copy to clipboard 打印 ?2.3.import java.sql.Connection;4.import java.sql.SQLException;5.import java.uti
8、l.ArrayList;6.import java.util.List;7.8. public class Test extends BaseDao 9.10. public List<Competence> getAllAuthorize() 11. List<Competence> authorizes = new ArrayList<Competence>();12. Connection conn = getConnection(); /得到聯(lián)接13. try 14. st = conn.prepareStatement("select *
9、 from authorize2 ");15. rs = st.executeQuery(); /得到結(jié)果集16. while (rs.next() 17. Competence authorize = new Competence();18. authorize.setId(rs.getInt("id");19. authorize.setpId(rs.getInt("pid");20. authorize.setOpen(rs.getInt("open");21. authorize.setIsParent(rs.get
10、Int("isParent");22. authorize.setName(rs.getString("name");23. / 添加到集合24. authorizes.add(authorize)25. 26. catch (SQLException e) 10 / 1527.System.out.println("查詢 authorize 失敗")28. e.printStackTrace();29. finally 30. closeConnection(rs, st, conn);31. 32. return authoriz
11、es;33. 34.35./*36.*拼接成 json 類型37. * return38. */39. public String getJSONData()40. Test d = new Test();41. List<Competence> list=d.getAllAuthorize();42.StringBuffer json=new StringBuffer(""); 43.String data=""44. for (int i =0; i < list.size(); i+) 45. json.append("
12、id: "+list.get(i).getId()+",");46. json.append("pId:"+list.get(i).getpId()+",");47. json.append("name: ""+list.get(i).getName()+"",");48.if (list.get(i).getIsParent() !=0) 49. json.append("isParent: "+list.get(i).getIsParent(
13、)+",");50. 51.if (list.get(i).getOpen() !=0) 52.json.append("open: "+list.get(i).getOpen()+",");53. 54. data=json.substring(0,json.lastIndexOf(",")+","55. json=new StringBuffer(data);56. 57. data=json.substring(0, json.length()-1)+""58.Syst
14、em.out.println(data);59. return data;60. 61. public static void main(String args) 62. Test demoTest=new Test()63. demoTest.getJSONData();64. 65. ( 4)創(chuàng)建加載 zTree 樹的 html 或 jsp 頁面 asyncLoad.html查看文本 copy to clipboard 打印 ?1. <!DOCTYPE html>2. <HTML>3. <HEAD>4. <TITLE>zTree Demo&l
15、t;/TITLE>5. <metahttp-equiv="content-type"content="text/html; charset=UTF-8">6. <linkrel="stylesheet"href="./css/demo.css"type="text/css">7. <!-必須文件 zTreeStyle.cs、s jquery.ztree.core-x.js、 jquery-x.min.js ->8. <linkrel="s
16、tylesheet"href="./css/zTreeStyle/zTreeStyle.css"type="text/css">9. <scripttype="text/javascript"src="./js/jquery-1.4.4.min.js"></script>10. <scripttype="text/javascript"src="./js/jquery.ztree.core-3.5.js"></scri
17、pt>11. <scriptlanguage="JavaScript">12. var setting= 13. async :14. enable :true, /設(shè)置zTree是否開啟vstrong>異步v/strong>加載模式15. url :"asyncData/loadData2.jsp", / Ajax 獲取數(shù)據(jù)的 URL 地址16. autoParam :"id" stro ng異步v/stro ng加載時(shí)自動(dòng)提交父節(jié)點(diǎn)屬性的參數(shù),假設(shè)父節(jié)點(diǎn) node= id:1, name:"
18、test" , strong異步 v/strong加載時(shí),提交參數(shù) zld=117. ,18. data: / 必須使用 data19. simpleData :20. enable :true,21. idKey :"id", / id 編號(hào)命名默認(rèn)22. pldKey :"pld", /父id編號(hào)命名默認(rèn)23. rootPld :0 /用于修正根節(jié)點(diǎn)父節(jié)點(diǎn)數(shù)據(jù),即pldKey 指定的屬性值24. 25. ,26./ 回調(diào)函數(shù)27.callback :28.onClick :function(event, treeId, treeNode,
19、clickFlag) 29./ 判斷是否父節(jié)點(diǎn)30.if(!treeNode.isParent)31. alert("treeId 自動(dòng)編號(hào):" + treeNode.tId + ", 節(jié)點(diǎn) id 是:" + treeNode.id + ",節(jié)點(diǎn)文本是:" + treeN);32. 33. ,34. /捕獲vstro ng異步v/str ong加載出現(xiàn)異常錯(cuò)誤的事件回調(diào)函數(shù)和成功的 回調(diào)函數(shù)35.onAsyncError :zTreeOnAsyncError,36.onAsyncSuccess : function(e
20、vent, treeId, treeNode, msg)37.38. 39. 41.42. / 加載錯(cuò)誤提示43. function zTreeOnAsyncError(event, treeId, treeNode, XMLHttpRequest, textStatus, errorThrown) 44. ale戌"加載錯(cuò)誤:" + XMLHttpRequest);45. ;46.46. / 過濾函數(shù)47. function filter(treeId, parentNode, childNodes) 49.if (!childNodes)50. return null;
21、51. for ( var i=0,l=childNodes.length; i<l; i+) 52. childN=childN.replace(/.n/g, '.');53. 54. return childNodes;55. 56.57./ 渲染58. $(document).ready(function() 59. $.fn.zTree.init($("#treeDemo"), setting);60.);12 / 1561. </script>62. </HEAD>63. <
22、;BODY>64. <div>65. <ulid="treeDemo"class="ztree"></ul>66. </div>67. </BODY>68. </HTML>(5)創(chuàng)建一個(gè)接收的 Servlet,本測(cè)試使用jsp代替loadData.jsp查看文本 copy to clipboard 打印?1.<% pagelanguage="java"import="java.util.*"pageEncoding="ut
23、f-8"%>3.4. <%5. String id=request.getParameter("id"); / 父節(jié)點(diǎn)編號(hào)6.System.out.print("得到的節(jié)點(diǎn) id:"+id);7. Test demo=newTest();8. String json=demo.getJSONData();9.out.print(json);10.%>注:json 數(shù)據(jù)最終會(huì)被拼接成 array 的形式,如下結(jié)果:xx 即可顯示查看文本 copy to clipboard 打印 ?1.id:100,pId:0,name:"父節(jié)點(diǎn) ",isParent:1,open:1,id:101,pId:100,name:"葉子節(jié)點(diǎn) 1",isParent:1,id:102,pId:100,name:"葉子節(jié)點(diǎn) 2",isParent:1,id:103,pId:100,name:"葉子節(jié)點(diǎn) 3",isParent:1,id:104,pId:0,name:"NB 的父節(jié)點(diǎn)",isParent:1,open:1
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年地理人教版八年級(jí)下冊(cè)期末學(xué)情評(píng)估(含答案)
- 2025-2030年中國光學(xué)組件數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025年高考英語閱讀理解滿分技巧(9大題型+解題技巧)
- 部編版小學(xué)語文四年級(jí)下冊(cè)期末階段專項(xiàng)復(fù)習(xí)-作文(含答案)
- Unit 6 Topic 1 Were going on a three-day visit to Mount Tai. 學(xué)案 初中英語仁愛版八年級(jí)下冊(cè)
- 分布式能源系統(tǒng)集成與管理服務(wù)合同
- 表面粗糙度測(cè)量儀講義課件
- 濮陽市天然氣施工方案
- 電子商務(wù)平臺(tái)商品分類管理
- 加工生產(chǎn)保密合同
- 船舶輪機(jī)長常規(guī)命令
- 餐券模板(A4紙15張)
- DIN5480_德標(biāo)花鍵計(jì)算表格
- 急性腎盂腎炎護(hù)理查房ppt課件
- 脫水機(jī)房設(shè)備安裝方案
- 致愛麗絲鋼琴曲五線譜
- 初中物理命題雙向細(xì)目表(人教版)
- 氣體放電基礎(chǔ)分析
- 專業(yè)技術(shù)人員年度(任期)考核登記表
- 人際反應(yīng)指數(shù)量表
- 萜類及揮發(fā)油
評(píng)論
0/150
提交評(píng)論