本示例只做到指定id用户的拥有的权限回显,并能动态获得ztree中重新选择的权限id。(至于权限的更新,就是后台人员对象和权限对象建立关系的过程,不做展示)

 

第一步:拼写jsp页面(下载ztree包,把css,js库导入webroot下。并在jsp页面上引用,将demo中ztree的显示代码贴上)如下

 1 <html>
 2   <head>
 3   
 4     <link rel="stylesheet" href="<%=request.getContextPath() %>/css/zTreeStyle/zTreeStyle.css" type="text/css">
 5     <script type="text/javascript" src="<%=request.getContextPath() %>/js/jquery-1.4.4.min.js"></script>
 6     <script type="text/javascript" src="<%=request.getContextPath() %>/js/jquery.ztree.core-3.5.js"></script>
 7     <script type="text/javascript" src="<%=request.getContextPath() %>/js/jquery.ztree.excheck-3.5.js"></script>
 8     <script type="text/javascript">
 9    //ztree的Demo代码
10     var setting = {
11             check: {
12                 enable: true
13             },
14             data: {
15                 simpleData: {
16                     enable: true
17                 }
18             }
19         };
20           //ztree的Demo代码
21         var zNodes;
22         
23         
24         //当页面加载完毕,向后台发送ajax请求,获取用户id为1的用户所拥有的权限(这里要显示所有权限,该id用户的权限回显时,被自动选中)
25         function loadPower(){
26                     $.ajax({
27                         type:"post",
28                         url:"<%=request.getContextPath() %>/PowerAction!query",
29                         data:{"uid":1},
30                         async:false,
31                         dataType:"json",
32                         success:function(msg){
33                             zNodes=msg["tree"];
34                         }
35                             
36                     })
37             
38         }
39         
40         //用户重新选择权限时,获取选择权限的id,此处可以拼接权限id的字符串,到后台切割成数组。String.split(",")
41         function test(){
42             //获取被选中的节点集合
43             var treeObj = $.fn.zTree.getZTreeObj("treeDemo");
44             var nodes = treeObj.getCheckedNodes(true);
45             //如果nodes的长度大于0说明ztree中有被选中的节点
46             if(nodes.length>0){
47                 for(var i=0;i<nodes.length;i++){
48                     var id=nodes[i]["id"];//获取选中节点的id
49                     var name=nodes[i]["name"];//获取选中节点的名字
50                     alert(id);
51                     alert(name);
52                 }
53             }else{
54                 alert("没有选中节点");
55             }
56             
57         }
58         
59         //页面加载完毕时加载此方法
60         $(document).ready(function(){
61             loadPower();
62             $.fn.zTree.init($("#treeDemo"), setting, zNodes);
63         });
64     </script>
65   </head>
66   
67   <body>
68   <div class="zTreeDemoBackground left">
69         <ul ></ul>
70     </div>
71     <input type="hidden" name="uid" value="${uid }">
72     <input type="button" value="测试被选中的节点的id" onclick="test();" />
73   </body>
74 </html>
View Code

相关文章: