权限jsp

Java代码 复制代码 收藏代码
  1.     <span style="font-size: medium;">权限jsp</span> 
  2.  
  3.     <link rel="stylesheet" href="<%=path%>/ztree/css/demo.css" 
  4.             type="text/css"
  5.         <link rel="stylesheet" 
  6.             href="<%=path%>/ztree/css/zTreeStyle/zTreeStyle.css" type="text/css"
  7.         <script type="text/javascript" 
  8.             src="<%=path%>/ztree/js/jquery-1.4.4.min.js"
  9. </script> 
  10.         <script type="text/javascript" 
  11.             src="<%=path%>/ztree/js/jquery.ztree.core-3.2.js"
  12. </script> 
  13.         <script type="text/javascript" 
  14.             src="<%=path%>/ztree/js/jquery.ztree.excheck-3.2.js"
  15. </script> 
  16.         <SCRIPT type="text/javascript"
  17.         <!-- 
  18.         var zNodes;  
  19.         var setting = { 
  20.             view: { 
  21.                 selectedMulti: false 
  22.             }, 
  23.             check: { 
  24.                 enable: true
  25.                 chkStyle: "checkbox"
  26.                chkboxType: { "Y": "p", "N": "s"
  27.             }, 
  28.             data: { 
  29.                 simpleData: { 
  30.                     enable: true 
  31.                 } 
  32.             }, 
  33.             callback: { 
  34.                 onCheck: onCheck 
  35.             }, 
  36.             data : { 
  37.                 keep : { 
  38.                  leaf : false
  39.                  parent : true 
  40.                   
  41.                 }, 
  42.                  key : { 
  43.                  checked : "checked"
  44.                  children : "children"
  45.                  name : "name"
  46.                  title : "" 
  47.                 }, 
  48.                simpleData : { 
  49.                enable : true
  50.                idKey : "id"
  51.                pIdKey : "parentid"
  52.                rootPId : -1 
  53.               } 
  54.  
  55.            } 
  56.         };   
  57.         var clearFlag = false
  58. function onCheck(e, treeId, treeNode) {
  59.             if (clearFlag) { 
  60.                 clearCheckedOldNodes(); 
  61.             } 
  62.         } 
  63.         function clearCheckedOldNodes() { 
  64.             var zTree = $.fn.zTree.getZTreeObj("treeDemo"), 
  65.             nodes = zTree.getChangeCheckedNodes(); 
  66.             for (var i=0, l=nodes.length; i<l; i++) { 
  67.                 nodes[i].checkedOld = nodes[i].checked; 
  68.             } 
  69.         } 
  70.         function checkAllNode(){//默认全部勾选 
  71.             var treeObj = $.fn.zTree.getZTreeObj("treeDemo"); 
  72.             var nodes =treeObj.getCheckedNodes(true); 
  73.             if(nodes!=null&&nodes!=""){ 
  74.                 treeObj.checkAllNodes(false); 
  75.             }else
  76.                 treeObj.checkAllNodes(true); 
  77.             } 
  78.         } 
  79.         function checkAllNodef(){//默认全部不勾选 
  80.             var treeObj = $.fn.zTree.getZTreeObj("treeDemo"); 
  81.             treeObj.checkAllNodes(false); 
  82.         } 
  83.         function expandAll(){//展开            
  84.             var treeObj = $.fn.zTree.getZTreeObj("treeDemo"); 
  85.                treeObj.expandAll(true); 
  86.         } 
  87.         function expandAllf(){//折叠       
  88.             var treeObj = $.fn.zTree.getZTreeObj("treeDemo"); 
  89.                treeObj.expandAll(false); 
  90.         } 
  91.         function createTree() {  
  92.             $.fn.zTree.init($("#treeDemo"), setting, zNodes); 
  93.             clearFlag = $("#last").attr("checked"); 
  94.         } 
  95.         $(document).ready(function(){ 
  96.             $.getJSON("<%=path%>/privilegeAction!menu1.action",function(json){ 
  97.                         zNodes = json.menuNodes; 
  98.                         createTree();    
  99.                     },'json' 
  100.                  ); 
  101.             $("#init").bind("change", createTree); 
  102.             $("#last").bind("change", createTree); 
  103.         }); 
  104.          function select1(){ 
  105.                 var zTree = $.fn.zTree.getZTreeObj("treeDemo"); 
  106.                 zTree.checkAllNodes(false); 
  107.                 var roleid=$('#role option:selected').val(); 
  108.                 if(roleid==""){ 
  109.                 alert("请选择角色"); 
  110.                 return false
  111.                 }; 
  112.                 var url="<%=path%>/privilegeAction!menu2.action"
  113.                 var data={ 
  114.                     "role":roleid 
  115.                       } 
  116.                $.post(url,data, 
  117.                       function (json){ 
  118.                           zNodes=json.pm; 
  119.                           if( zNodes==null){ 
  120.                              zNodes=0;  
  121.                           } 
  122.                           for(var i=0;i<zNodes.length;i++){    
  123.                             var node = zTree.getNodeByParam("id", zNodes[i]);    
  124.                                  if(node==null){ 
  125.                                      node=0
  126.                                  }else
  127.                                 node.checked=true;  
  128.                                 } 
  129.                                 zTree.updateNode(node,true);    
  130.                            }                           
  131.                       },'json' 
  132.                         
  133.                     ) 
  134.                }; 
  135.                function save() { 
  136.                 var treeObj = $.fn.zTree.getZTreeObj("treeDemo"); 
  137.                 var nodes = treeObj.getCheckedNodes(true); 
  138.                 var  v = ""
  139.                for (var i=0, l=nodes.length; i<l; i++) { 
  140.                  v += nodes[i].id + ",";//获取选中节点的id值 
  141.                  } 
  142.                  v=v.substring(0, v.length - 1); 
  143.                  var role=$('#role option:selected').val(); 
  144.                 if(role==""){ 
  145.                 alert("请选择角色"); 
  146.                 return false
  147.                 }; 
  148.                  var data={ 
  149.                     "role":role, 
  150.                     "privilege":v 
  151.                       } 
  152.                 var url="<%=path%>/privilegeAction!savePrivilege.action"
  153.                 $.post(url,data, 
  154.                      function(json){ 
  155.                     var result=json.result; 
  156.                         if(result==0){ 
  157.                         alert("操作成功"); 
  158.                      } 
  159.                      if(result==1){ 
  160.                     alert("操作失败"); 
  161.                    } 
  162.                   },'json' 
  163.                 ); 
  164.             } 
  165.         //--> 
  166.     </SCRIPT> 
  167.         <style> 
  168. a { 
  169.     TEXT-DECORATION: none 
  170. </style> 
  171.     </head> 
  172.  
  173.     <body> 
  174.         <table width="100%" border="0" cellspacing="0" cellpadding="0" 
  175.             align="center" class="add"
  176.             <tr> 
  177.                 <td style="padding-left: 20px;" class="addlistbg"
  178.                     角色列表: 
  179.                     <select name="role" id="role" class="select"
  180.                         <option value=""
  181.                             --请选择角色-- 
  182.                         </option> 
  183.                         <s:iterator value="rolelist" id="role" status="st"
  184.                             <option value="<s:property value="#role.id"/>"
  185.                                 <s:property value="#role.rolename" /> 
  186.                             </option> 
  187.                         </s:iterator> 
  188.                     </select> 
  189.                     &nbsp;&nbsp; 
  190.                     <input type="hidden" name="privilege" value="" id="privilege" /> 
  191.                     <input type="button" value="显示权限" class="inp_L1" 
  192.                         onMouseOver="this.className='inp_L2'" 
  193.                         onMouseOut="this.className='inp_L1'" οnclick="select1()" /> 
  194.                     &nbsp;&nbsp; 
  195.                     <input type="button" value="保 存" class="inp_L1" 
  196.                         onMouseOver="this.className='inp_L2'" 
  197.                         onMouseOut="this.className='inp_L1'" οnclick="save()" /> 
  198.                     &nbsp;&nbsp; 
  199.  
  200.                 </td> 
  201.             </tr> 
  202.         </table> 
  203.         <table width="100%" border="0" cellspacing="0" cellpadding="0" 
  204.             align="center"
  205.             <tr> 
  206.                 <td> 
  207.                     <div style="height: 35px; padding-top: 5px;"
  208.                         <img src="<%=path%>/tree/open.gif"
  209.                         <a style="cursor: hand" οnclick='javascript:expandAll()'>全部展开</a> 
  210.                         <img src="<%=path%>/tree/close.gif"
  211.                         <a style="cursor: hand" οnclick='javascript:expandAllf()'>全部折叠</a> 
  212.                         <img src="<%=path%>/tree/open.gif"
  213.                         <a style="cursor: hand" οnclick='javascript:checkAllNode()'>选中/取消</a> 
  214.  
  215.                     </div> 
  216.                     <div id="treeboxbox_tree2" 
  217.                         style="width: 100%; height: 540px; border: 1px solid Silver; overflow: auto;"
  218.                         <ul id="treeDemo" class="ztree" style="margin-left: 20px;"></ul> 
  219.                     </div> 
  220.                 </td> 
  221.             </tr> 
  222.         </table> 
  223.     </body> 
  224. </html> 
  225.       <span style="font-size: medium;">角色权限 action </span> 
  226.  
  227.      
  228. public String menu1() {//加载权限树 
  229.             menuNodes= new ArrayList<Map<String,Object>>(); 
  230.              list=coreMenuManager.getAllMenu();//获取所有菜单 
  231.              if(list.size()>0) { 
  232.              Iterator<Object> it = list.iterator(); 
  233.              while(it.hasNext()){ 
  234.              CoreMenu m= (CoreMenu)it.next(); 
  235.              Map<String,Object> item = new HashMap<String,Object>(); 
  236.              item.put("id", m.getId()); 
  237.              if(m.getRealname()!=null){ 
  238.                  item.put("name", m.getRealname().toString().replaceAll(" ","")); 
  239.              }else
  240.                  item.put("name", m.getName().toString().replaceAll(" ","")); 
  241.              } 
  242.              
  243.              item.put("parentid", m.getParentid());   
  244.              item.put("open", true); 
  245.              menuNodes.add(item); 
  246.              } 
  247.              } 
  248.              
  249.         return "menu";   
  250.     } 
  251.     public String menu2() {//自动生成菜单 
  252.               listMenu=coreMenuManager.getAllMenu();//查询所有菜单 
  253.               menuNodes= new ArrayList<Map<String,Object>>(); 
  254.               list=corePrivilegeManager.getPrivilegeByRole(Integer.parseInt(role));//根据角色找到对应的操作权限id 
  255.               if ((list != null) && (list.size() > 0)) { 
  256.                     CorePrivilege privilege = (CorePrivilege) list.get(0); 
  257.                     String roleprivilege = privilege.getPrivilege();//查询根据角色找到对应的privilege,1,2,3 
  258.                     String[] p = null
  259.                     if ((roleprivilege != null) && (!roleprivilege.equals(""))) { 
  260.                         p = privilege.getPrivilege().split(","); 
  261.                     } 
  262.                     pm=p; 
  263.               } 
  264.                
  265.         return "menu";   
  266.     } 
  267.     public String savePrivilege() {  
  268.         if ((role != null) && (!role.equals(""))) { 
  269.             List l = corePrivilegeManager.getPrivilegeByRole(Integer 
  270.                     .parseInt(role)); 
  271.             if ((l != null) && (l.size() > 0)) { 
  272.                 CorePrivilege p = (CorePrivilege) l.get(0); 
  273.                 p.setPrivilege(privilege); 
  274.                 corePrivilegeManager.update(p); 
  275.             } else
  276.                 CorePrivilege p = new CorePrivilege(); 
  277.                 p.setPrivilege(privilege); 
  278.                 p.setRole(Integer.parseInt(role)); 
  279.                 corePrivilegeManager.save(p); 
  280.             } 
  281.             result="0"
  282.         } else
  283.             result="1"
  284.         } 
  285.         return "success"
  286.     }       
	权限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>
					&nbsp;&nbsp;
					<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()" />
					&nbsp;&nbsp;
					<input type="button" value="保 存" class="inp_L1"
						onMouseOver="this.className='inp_L2'"
						onMouseOut="this.className='inp_L1'" οnclick="save()" />
					&nbsp;&nbsp;

				</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";
	}      
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值