- <span style="font-size: medium;">权限jsp</span>
- <link rel="stylesheet" href="<%=path%>/ztree/css/demo.css"
- type="text/css">
- <link rel="stylesheet"
- href="<%=path%>/ztree/css/zTreeStyle/zTreeStyle.css" type="text/css">
- <script type="text/javascript"
- src="<%=path%>/ztree/js/jquery-1.4.4.min.js">
- </script>
- <script type="text/javascript"
- src="<%=path%>/ztree/js/jquery.ztree.core-3.2.js">
- </script>
- <script type="text/javascript"
- src="<%=path%>/ztree/js/jquery.ztree.excheck-3.2.js">
- </script>
- <SCRIPT type="text/javascript">
- <!--
- var zNodes;
- var setting = {
- view: {
- selectedMulti: false
- },
- check: {
- enable: true,
- chkStyle: "checkbox",
- chkboxType: { "Y": "p", "N": "s" }
- },
- data: {
- simpleData: {
- enable: true
- }
- },
- callback: {
- onCheck: onCheck
- },
- data : {
- keep : {
- leaf : false,
- parent : true
- },
- key : {
- checked : "checked",
- children : "children",
- name : "name",
- title : ""
- },
- simpleData : {
- enable : true,
- idKey : "id",
- pIdKey : "parentid",
- rootPId : -1
- }
- }
- };
- var clearFlag = false;
- function onCheck(e, treeId, treeNode) {
- if (clearFlag) {
- clearCheckedOldNodes();
- }
- }
- function clearCheckedOldNodes() {
- var zTree = $.fn.zTree.getZTreeObj("treeDemo"),
- nodes = zTree.getChangeCheckedNodes();
- for (var i=0, l=nodes.length; i<l; i++) {
- nodes[i].checkedOld = nodes[i].checked;
- }
- }
- function checkAllNode(){//默认全部勾选
- var treeObj = $.fn.zTree.getZTreeObj("treeDemo");
- var nodes =treeObj.getCheckedNodes(true);
- if(nodes!=null&&nodes!=""){
- treeObj.checkAllNodes(false);
- }else{
- treeObj.checkAllNodes(true);
- }
- }
- function checkAllNodef(){//默认全部不勾选
- var treeObj = $.fn.zTree.getZTreeObj("treeDemo");
- treeObj.checkAllNodes(false);
- }
- function expandAll(){//展开
- var treeObj = $.fn.zTree.getZTreeObj("treeDemo");
- treeObj.expandAll(true);
- }
- function expandAllf(){//折叠
- var treeObj = $.fn.zTree.getZTreeObj("treeDemo");
- treeObj.expandAll(false);
- }
- function createTree() {
- $.fn.zTree.init($("#treeDemo"), setting, zNodes);
- clearFlag = $("#last").attr("checked");
- }
- $(document).ready(function(){
- $.getJSON("<%=path%>/privilegeAction!menu1.action",function(json){
- zNodes = json.menuNodes;
- createTree();
- },'json'
- );
- $("#init").bind("change", createTree);
- $("#last").bind("change", createTree);
- });
- function select1(){
- var zTree = $.fn.zTree.getZTreeObj("treeDemo");
- zTree.checkAllNodes(false);
- var roleid=$('#role option:selected').val();
- if(roleid==""){
- alert("请选择角色");
- return false;
- };
- var url="<%=path%>/privilegeAction!menu2.action";
- var data={
- "role":roleid
- }
- $.post(url,data,
- function (json){
- zNodes=json.pm;
- if( zNodes==null){
- zNodes=0;
- }
- for(var i=0;i<zNodes.length;i++){
- var node = zTree.getNodeByParam("id", zNodes[i]);
- if(node==null){
- node=0;
- }else{
- node.checked=true;
- }
- zTree.updateNode(node,true);
- }
- },'json'
- )
- };
- function save() {
- var treeObj = $.fn.zTree.getZTreeObj("treeDemo");
- var nodes = treeObj.getCheckedNodes(true);
- var v = "";
- for (var i=0, l=nodes.length; i<l; i++) {
- v += nodes[i].id + ",";//获取选中节点的id值
- }
- v=v.substring(0, v.length - 1);
- var role=$('#role option:selected').val();
- if(role==""){
- alert("请选择角色");
- return false;
- };
- var data={
- "role":role,
- "privilege":v
- }
- var url="<%=path%>/privilegeAction!savePrivilege.action";
- $.post(url,data,
- function(json){
- var result=json.result;
- if(result==0){
- alert("操作成功");
- }
- if(result==1){
- alert("操作失败");
- }
- },'json'
- );
- }
- //-->
- </SCRIPT>
- <style>
- a {
- TEXT-DECORATION: none
- }
- </style>
- </head>
- <body>
- <table width="100%" border="0" cellspacing="0" cellpadding="0"
- align="center" class="add">
- <tr>
- <td style="padding-left: 20px;" class="addlistbg">
- 角色列表:
- <select name="role" id="role" class="select">
- <option value="">
- --请选择角色--
- </option>
- <s:iterator value="rolelist" id="role" status="st">
- <option value="<s:property value="#role.id"/>">
- <s:property value="#role.rolename" />
- </option>
- </s:iterator>
- </select>
-
- <input type="hidden" name="privilege" value="" id="privilege" />
- <input type="button" value="显示权限" class="inp_L1"
- onMouseOver="this.className='inp_L2'"
- onMouseOut="this.className='inp_L1'" οnclick="select1()" />
-
- <input type="button" value="保 存" class="inp_L1"
- onMouseOver="this.className='inp_L2'"
- onMouseOut="this.className='inp_L1'" οnclick="save()" />
-
- </td>
- </tr>
- </table>
- <table width="100%" border="0" cellspacing="0" cellpadding="0"
- align="center">
- <tr>
- <td>
- <div style="height: 35px; padding-top: 5px;">
- <img src="<%=path%>/tree/open.gif">
- <a style="cursor: hand" οnclick='javascript:expandAll()'>全部展开</a>
- <img src="<%=path%>/tree/close.gif">
- <a style="cursor: hand" οnclick='javascript:expandAllf()'>全部折叠</a>
- <img src="<%=path%>/tree/open.gif">
- <a style="cursor: hand" οnclick='javascript:checkAllNode()'>选中/取消</a>
- </div>
- <div id="treeboxbox_tree2"
- style="width: 100%; height: 540px; border: 1px solid Silver; overflow: auto;">
- <ul id="treeDemo" class="ztree" style="margin-left: 20px;"></ul>
- </div>
- </td>
- </tr>
- </table>
- </body>
- </html>
- <span style="font-size: medium;">角色权限 action </span>
- public String menu1() {//加载权限树
- menuNodes= new ArrayList<Map<String,Object>>();
- list=coreMenuManager.getAllMenu();//获取所有菜单
- if(list.size()>0) {
- Iterator<Object> it = list.iterator();
- while(it.hasNext()){
- CoreMenu m= (CoreMenu)it.next();
- Map<String,Object> item = new HashMap<String,Object>();
- item.put("id", m.getId());
- if(m.getRealname()!=null){
- item.put("name", m.getRealname().toString().replaceAll(" ",""));
- }else{
- item.put("name", m.getName().toString().replaceAll(" ",""));
- }
- item.put("parentid", m.getParentid());
- item.put("open", true);
- menuNodes.add(item);
- }
- }
- return "menu";
- }
- public String menu2() {//自动生成菜单
- listMenu=coreMenuManager.getAllMenu();//查询所有菜单
- menuNodes= new ArrayList<Map<String,Object>>();
- list=corePrivilegeManager.getPrivilegeByRole(Integer.parseInt(role));//根据角色找到对应的操作权限id
- if ((list != null) && (list.size() > 0)) {
- CorePrivilege privilege = (CorePrivilege) list.get(0);
- String roleprivilege = privilege.getPrivilege();//查询根据角色找到对应的privilege,1,2,3
- String[] p = null;
- if ((roleprivilege != null) && (!roleprivilege.equals(""))) {
- p = privilege.getPrivilege().split(",");
- }
- pm=p;
- }
- return "menu";
- }
- public String savePrivilege() {
- if ((role != null) && (!role.equals(""))) {
- List l = corePrivilegeManager.getPrivilegeByRole(Integer
- .parseInt(role));
- if ((l != null) && (l.size() > 0)) {
- CorePrivilege p = (CorePrivilege) l.get(0);
- p.setPrivilege(privilege);
- corePrivilegeManager.update(p);
- } else {
- CorePrivilege p = new CorePrivilege();
- p.setPrivilege(privilege);
- p.setRole(Integer.parseInt(role));
- corePrivilegeManager.save(p);
- }
- result="0";
- } else {
- result="1";
- }
- return "success";
- }
权限jsp
<link rel="stylesheet" href="<%=path%>/ztree/css/demo.css"
type="text/css">
<link rel="stylesheet"
href="<%=path%>/ztree/css/zTreeStyle/zTreeStyle.css" type="text/css">
<script type="text/javascript"
src="<%=path%>/ztree/js/jquery-1.4.4.min.js">
</script>
<script type="text/javascript"
src="<%=path%>/ztree/js/jquery.ztree.core-3.2.js">
</script>
<script type="text/javascript"
src="<%=path%>/ztree/js/jquery.ztree.excheck-3.2.js">
</script>
<SCRIPT type="text/javascript">
<!--
var zNodes;
var setting = {
view: {
selectedMulti: false
},
check: {
enable: true,
chkStyle: "checkbox",
chkboxType: { "Y": "p", "N": "s" }
},
data: {
simpleData: {
enable: true
}
},
callback: {
onCheck: onCheck
},
data : {
keep : {
leaf : false,
parent : true
},
key : {
checked : "checked",
children : "children",
name : "name",
title : ""
},
simpleData : {
enable : true,
idKey : "id",
pIdKey : "parentid",
rootPId : -1
}
}
};
var clearFlag = false;
function onCheck(e, treeId, treeNode) {
if (clearFlag) {
clearCheckedOldNodes();
}
}
function clearCheckedOldNodes() {
var zTree = $.fn.zTree.getZTreeObj("treeDemo"),
nodes = zTree.getChangeCheckedNodes();
for (var i=0, l=nodes.length; i<l; i++) {
nodes[i].checkedOld = nodes[i].checked;
}
}
function checkAllNode(){//默认全部勾选
var treeObj = $.fn.zTree.getZTreeObj("treeDemo");
var nodes =treeObj.getCheckedNodes(true);
if(nodes!=null&&nodes!=""){
treeObj.checkAllNodes(false);
}else{
treeObj.checkAllNodes(true);
}
}
function checkAllNodef(){//默认全部不勾选
var treeObj = $.fn.zTree.getZTreeObj("treeDemo");
treeObj.checkAllNodes(false);
}
function expandAll(){//展开
var treeObj = $.fn.zTree.getZTreeObj("treeDemo");
treeObj.expandAll(true);
}
function expandAllf(){//折叠
var treeObj = $.fn.zTree.getZTreeObj("treeDemo");
treeObj.expandAll(false);
}
function createTree() {
$.fn.zTree.init($("#treeDemo"), setting, zNodes);
clearFlag = $("#last").attr("checked");
}
$(document).ready(function(){
$.getJSON("<%=path%>/privilegeAction!menu1.action",function(json){
zNodes = json.menuNodes;
createTree();
},'json'
);
$("#init").bind("change", createTree);
$("#last").bind("change", createTree);
});
function select1(){
var zTree = $.fn.zTree.getZTreeObj("treeDemo");
zTree.checkAllNodes(false);
var roleid=$('#role option:selected').val();
if(roleid==""){
alert("请选择角色");
return false;
};
var url="<%=path%>/privilegeAction!menu2.action";
var data={
"role":roleid
}
$.post(url,data,
function (json){
zNodes=json.pm;
if( zNodes==null){
zNodes=0;
}
for(var i=0;i<zNodes.length;i++){
var node = zTree.getNodeByParam("id", zNodes[i]);
if(node==null){
node=0;
}else{
node.checked=true;
}
zTree.updateNode(node,true);
}
},'json'
)
};
function save() {
var treeObj = $.fn.zTree.getZTreeObj("treeDemo");
var nodes = treeObj.getCheckedNodes(true);
var v = "";
for (var i=0, l=nodes.length; i<l; i++) {
v += nodes[i].id + ",";//获取选中节点的id值
}
v=v.substring(0, v.length - 1);
var role=$('#role option:selected').val();
if(role==""){
alert("请选择角色");
return false;
};
var data={
"role":role,
"privilege":v
}
var url="<%=path%>/privilegeAction!savePrivilege.action";
$.post(url,data,
function(json){
var result=json.result;
if(result==0){
alert("操作成功");
}
if(result==1){
alert("操作失败");
}
},'json'
);
}
//-->
</SCRIPT>
<style>
a {
TEXT-DECORATION: none
}
</style>
</head>
<body>
<table width="100%" border="0" cellspacing="0" cellpadding="0"
align="center" class="add">
<tr>
<td style="padding-left: 20px;" class="addlistbg">
角色列表:
<select name="role" id="role" class="select">
<option value="">
--请选择角色--
</option>
<s:iterator value="rolelist" id="role" status="st">
<option value="<s:property value="#role.id"/>">
<s:property value="#role.rolename" />
</option>
</s:iterator>
</select>
<input type="hidden" name="privilege" value="" id="privilege" />
<input type="button" value="显示权限" class="inp_L1"
onMouseOver="this.className='inp_L2'"
onMouseOut="this.className='inp_L1'" οnclick="select1()" />
<input type="button" value="保 存" class="inp_L1"
onMouseOver="this.className='inp_L2'"
onMouseOut="this.className='inp_L1'" οnclick="save()" />
</td>
</tr>
</table>
<table width="100%" border="0" cellspacing="0" cellpadding="0"
align="center">
<tr>
<td>
<div style="height: 35px; padding-top: 5px;">
<img src="<%=path%>/tree/open.gif">
<a style="cursor: hand" οnclick='javascript:expandAll()'>全部展开</a>
<img src="<%=path%>/tree/close.gif">
<a style="cursor: hand" οnclick='javascript:expandAllf()'>全部折叠</a>
<img src="<%=path%>/tree/open.gif">
<a style="cursor: hand" οnclick='javascript:checkAllNode()'>选中/取消</a>
</div>
<div id="treeboxbox_tree2"
style="width: 100%; height: 540px; border: 1px solid Silver; overflow: auto;">
<ul id="treeDemo" class="ztree" style="margin-left: 20px;"></ul>
</div>
</td>
</tr>
</table>
</body>
</html>
角色权限 action
public String menu1() {//加载权限树
menuNodes= new ArrayList<Map<String,Object>>();
list=coreMenuManager.getAllMenu();//获取所有菜单
if(list.size()>0) {
Iterator<Object> it = list.iterator();
while(it.hasNext()){
CoreMenu m= (CoreMenu)it.next();
Map<String,Object> item = new HashMap<String,Object>();
item.put("id", m.getId());
if(m.getRealname()!=null){
item.put("name", m.getRealname().toString().replaceAll(" ",""));
}else{
item.put("name", m.getName().toString().replaceAll(" ",""));
}
item.put("parentid", m.getParentid());
item.put("open", true);
menuNodes.add(item);
}
}
return "menu";
}
public String menu2() {//自动生成菜单
listMenu=coreMenuManager.getAllMenu();//查询所有菜单
menuNodes= new ArrayList<Map<String,Object>>();
list=corePrivilegeManager.getPrivilegeByRole(Integer.parseInt(role));//根据角色找到对应的操作权限id
if ((list != null) && (list.size() > 0)) {
CorePrivilege privilege = (CorePrivilege) list.get(0);
String roleprivilege = privilege.getPrivilege();//查询根据角色找到对应的privilege,1,2,3
String[] p = null;
if ((roleprivilege != null) && (!roleprivilege.equals(""))) {
p = privilege.getPrivilege().split(",");
}
pm=p;
}
return "menu";
}
public String savePrivilege() {
if ((role != null) && (!role.equals(""))) {
List l = corePrivilegeManager.getPrivilegeByRole(Integer
.parseInt(role));
if ((l != null) && (l.size() > 0)) {
CorePrivilege p = (CorePrivilege) l.get(0);
p.setPrivilege(privilege);
corePrivilegeManager.update(p);
} else {
CorePrivilege p = new CorePrivilege();
p.setPrivilege(privilege);
p.setRole(Integer.parseInt(role));
corePrivilegeManager.save(p);
}
result="0";
} else {
result="1";
}
return "success";
}
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。