最近在做一个将用户,角色,权限关联查询的功能,其中需要根据角色的id查询出该角色拥有的所有的权限,然后使用zTree控件进行展示数据思路如下
先要引入zTree的JS文件和样式,这个不通用,根据需要自己引入相应的zTree的js文件和样式文件
<link rel="stylesheet" href="${ctx}/static/plugin/ztree/css/zTreeStyle.css" type="text/css">
<script type="text/javascript" src="${ctx}/static/plugin/ztree/js/jquery.ztree.all-3.5.min.js"></script>
JSP页面
<script>
var zNodes = ${authJson};
</script>
setting:zTree的属性
var setting = {
check: {
enable: true
},
data: {
simpleData: {
enable: true
}
}
};
zNodes:要加载的数据
使用以下方法加载:
var zTree;
$(document).ready(function(){
$.fn.zTree.init($("#ztree"), setting, zNodes);
zTree = $.fn.zTree.getZTreeObj("ztree")
});
根据角色id,获取权限ztree,并且默认选中对应的权限
function getAuthTreeByRole(roleid){
$("#editAuthRoleId").val(roleid);
$.post(webContext + "/platform/role/getAuthTreeByRole/"+roleid,function(data){
//先删除原有的树结构
$.fn.zTree.destroy("ztree");
//根据获取的信息创建新的
zNodes = jQuery.parseJSON(data);
$.fn.zTree.init($("#ztree"), setting, zNodes);
zTree = $.fn.zTree.getZTreeObj("ztree");
});
}
以上代码只是提供思路,不能直接粘贴运行,如有疑问,期待你的回复交流