zTree - jQuery 树插件 的 简单介绍
玩 zTree - jQuery 树插件 的 简单操作
-
下载zTree相关文件:css 、js
-
书写前台页面(jsp页面示例):
- main.jsp 进入时显示页面(分成三部分)
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>main</title> </head> <frameset rows="13%,*"> <frame src="toTitle.do" name="title" frameborder="0" noresize="noresize" marginwidth="0" marginheight="0"> <frameset cols="16%,*"> <frame src="toMenu.do" name="menu" frameborder="0" noresize="noresize" marginwidth="0" marginheight="0"> <frame src="toContent.do" name="content" frameborder="0" noresize="noresize" marginwidth="0" marginheight="0"> </frameset> </frameset> </html> - title.jsp (上)
1 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> 2 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 3 <html> 4 <head> 5 <title>My JSP 'title.jsp' starting page</title> 6 <script type="text/javascript" src="<%=request.getContextPath()%>/jQuery/jquery-1.8.2.js"></script> 7 <script type="text/javascript"> 8 function logout(){ 9 window.parent.location.href = "../user/logout.do"; 10 } 11 </script> 12 </head> 13 <body style="background-image: url('<%=request.getContextPath()%>/zTree/css/zTreeStyle/img/01.png');width: 1100px;"> 14 <div> 15 <input type="button" value="注销" onclick="logout()" style="border: none;background: transparent;color:white;float:right;margin-top:40px;margin-left: 200px;"> 16 <h3 style="color: FFFFFF;float:left;margin-top: 10px;margin-left: 300px;"> 17 欢迎 18 <span style="color: yellow;font-size: 15;">${user.rname}</span> 19 登录 20 </h3> 21 </div> 22 </body> 23 </html>
- menu.jsp (左---ztree部分)
1 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> 2 <% 3 String path = request.getContextPath(); 4 String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; 5 %> 6 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 7 <html> 8 <head> 9 <title>My JSP 'menu.jsp' starting page</title> 10 <link rel="stylesheet" type="text/css" href="<%=path %>/zTree/css/zTreeStyle/zTreeStyle.css"> 11 <script type="text/javascript" src="<%=path %>/jQuery/jquery-1.8.2.js"></script> 12 <script type="text/javascript" src="<%=path %>/zTree/js/jquery.ztree.core.js"></script> 13 <script type="text/javascript" src="<%=path %>/zTree/js/jquery.ztree.excheck.js"></script> 14 <script type="text/javascript" src="<%=path %>/zTree/js/jquery.ztree.exedit.js"></script> 15 <script type="text/javascript"> 16 var zTreeObj, 17 setting = { 18 async:{ 19 enable:true, 20 url:"list.do" 21 }, 22 view:{ 23 selectedMulti:false, 24 showTitle:false, 25 showLine:false 26 }, 27 data:{ 28 simpleData:{ 29 enable:true, 30 idKey:"id", 31 pIdKey:"pid", 32 rootPId:0 33 } 34 } 35 }, 36 zTreeNodes; 37 $(document).ready(function (){ 38 zTreeObj=$.fn.zTree.init($("#tree"),setting,zTreeNodes); 39 }); 40 41 </script> 42 </head> 43 <body style="background-image: url('<%=request.getContextPath()%>/zTree/css/zTreeStyle/img/6.jpg');width: 10px;"> 44 <ul id="tree" class="ztree" style="width: 180px;overflow: auto;"></ul> 45 </body> 46 </html>
- content.jsp (显示数据页面)
1 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> 2 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 3 <html> 4 <head> 5 <title>content</title> 6 <meta http-equiv="Content-Type" content="text/html;charset:UTF-8" > 7 </head> 8 <body> 9 <img src="<%=request.getContextPath()%>/zTree/css/zTreeStyle/img/right2.png" style=" width:1170px;height:580px;"> 10 </body> 11 </html>
- 权限修改页面menuPower.jsp
1 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> 2 <% 3 String path = request.getContextPath(); 4 String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() 5 + path + "/"; 6 %> 7 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 8 <html> 9 <head> 10 <title>My JSP 'menu.jsp' starting page</title> 11 <link rel="stylesheet" type="text/css" href="<%=path%>/css/index.css"> 12 <link rel="stylesheet" type="text/css" href="<%=path%>/zTree/css/zTreeStyle/zTreeStyle.css"> 13 <script type="text/javascript" src="<%=path%>/jQuery/jquery-1.8.2.js"></script> 14 <script type="text/javascript" src="<%=path%>/zTree/js/jquery.ztree.core.js"></script> 15 <script type="text/javascript" src="<%=path%>/zTree/js/jquery.ztree.excheck.js"></script> 16 <script type="text/javascript" src="<%=path%>/zTree/js/jquery.ztree.exedit.js"></script> 17 <script type="text/javascript"> 18 var zTreeObj, 19 setting = { 20 async : { 21 enable : true, 22 url : "list.do", 23 }, 24 view : { 25 selectedMulti : false, 26 showTitle : false, 27 showLine : false 28 }, 29 data : { 30 simpleData : { 31 enable : true, 32 idKey : "id", 33 pIdKey : "pId", 34 rootPId : 0, 35 open : true 36 }, 37 key : { 38 url : "aaa" 39 } 40 }, 41 check : { 42 enable : true 43 } 44 }, 45 zTreeNodes; 46 $(document).ready(function() { 47 //初始化ztree 48 zTreeObj = $.fn.zTree.init($("#tree"), setting, zTreeNodes); 49 //设置角色对应菜单的回显 50 var rid = $("[name=rid]").val(); 51 $.ajax({ 52 url : "../user/roleByPower.do", 53 data : { 54 rid : rid 55 }, 56 type : "post", 57 dataType : "json", 58 async : false, 59 success : function(obj) { 60 if (obj.length > 0) { 61 //回显复选框 62 //1.获取ztree对象 63 var treeObj = $.fn.zTree.getZTreeObj("tree"); 64 for (var i in obj) { 65 //2.选择节点数据 66 node = treeObj.getNodeByParam("id", obj[i].mid); 67 //3.回显复选框 68 treeObj.checkNode(node, true, false); 69 } 70 } 71 } 72 }); 73 }); 74 75 function getUserPower() { 76 var rid = $("[name=rid]").val(); 77 var treeObj = $.fn.zTree.getZTreeObj("tree"); 78 var nodes = treeObj.getCheckedNodes(true); 79 if (nodes.length > 0) { 80 var ids = ""; 81 for (var i in nodes) { 82 ids += "," + nodes[i].id; 83 } 84 ids = ids.substring(1); 85 $.post( 86 "../user/getRolePower.do", 87 { 88 rid : rid, 89 mids : ids 90 }, 91 function(obj) { 92 if (obj) { 93 alert("授权成功!"); 94 location.href = "../user/rolelist.do"; 95 } else { 96 alert("授权失败!"); 97 } 98 }, 99 "json" 100 ); 101 } 102 103 } 104 </script> 105 </head> 106 <body> 107 <table style="width: 200px;height: 450px;margin: 0 auto;"> 108 <tr> 109 <td><input type="hidden" value="${param.rid}" name="rid"> 110 <span>职位名称:${param.rname}</span></td> 111 </tr> 112 <tr> 113 <td> 114 <ul id="tree" class="ztree" style="width: 180px;overflow: auto;"></ul> 115 </td> 116 </tr> 117 <tr> 118 <td><input type="button" value="授权提交" onclick="getUserPower()"> 119 </td> 120 </tr> 121 </table> 122 </body> 123 </html>
- main.jsp 进入时显示页面(分成三部分)
-
后台查询ztree列表
- 数据库建表信息:
- id编号
- name 名称
- pid 父级编号
- url 跳转路径
- target 显示页面
- icon 节点显示的样式图片路径
- iconClose 收起节点时的样式图片路径
- iconOpen 打开节点时的样式图片路径
- open 默认是否打开(true / false)

浙公网安备 33010602011771号