⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 selprivilege.jsp

📁 本源码为教学管理信息系统
💻 JSP
字号:
<%@ page language="java" contentType="text/html;charset=GBK"%>
<%@ taglib prefix="ww" uri="webwork" %>
<%@ page import="com.opensymphony.xwork.util.OgnlValueStack" %>
<%@ page import="com.wygl.xtgl.domain.Privilege" %>
<%@ page import="java.util.List" %>
<%@ page import="java.util.ArrayList" %>
<%@ page import="java.util.Iterator" %>
<%
	OgnlValueStack stack = (OgnlValueStack)request.getAttribute("webwork.valueStack");
	List privilegesGranted = (List)stack.findValue("privilegesGranted");
	List privilegesGrantedId = new ArrayList();
	for(Iterator it = privilegesGranted.iterator();it.hasNext();){
		Privilege pri = (Privilege)it.next();
		privilegesGrantedId.add(pri.getId());
	}
	String roleId;
	roleId = (String)stack.findValue("roleId");
%>
<HTML><HEAD>
<style>
.wukuang {
	border: 0px none;
	background-image: url(../../../images/tbg.gif);
}
.img {
	border: 0px none;
}
.imgd {
	vertical-align: bottom;
	border: 0px none;
}
table        {
 font-size: 12px;
 }
</style>
<script language="javascript">
	function subPrivilege(){
		document.form1.target='right';
		document.form1.submit();
		parent.close();
	}
	function close(){
		top.close();
	}
</script>
<link href="<%= request.getContextPath() %>/css/dtree.css" rel="stylesheet" type="text/css">
<script type="text/javascript" src="<%=request.getContextPath()%>/js/dtree1.js"></script>
</HEAD>

<BODY leftMargin=0 topMargin=0 marginwidth="0" marginheight="0">
<table cellspacing="0" cellpadding="0" align="center">
	<tr><td class="topg"/></tr>
</table>
<table border="0" cellspacing="0" cellpadding="0" align="center" class="wukuang">
	<tr>
		<td width="1%" align="left" ><img class="img" src="<%= request.getContextPath() %>/images/tleft.gif"></td>
		<td width="30%" align="left">[权限组授权]</td>
		<td width="68%"align="right"><a href="javascript:subPrivilege();"><img class="imgd" src="<%= request.getContextPath() %>/images/button/sq.gif" border="0"></a><a href="javascript:close();" ><img class="imgd" src="<%= request.getContextPath() %>/images/button/close.gif" border="0"></a></td>
		<td width="1%" align="left" ><img class="img" src="<%= request.getContextPath() %>/images/tright.gif"></td>
	</tr>
</table>
<table cellspacing="0" cellpadding="0" align="center">
	<tr><td class="topg"/></tr>
</table>
<table width="98%" align="center" border="0" cellpadding="0" cellspacing="0">
	<tr>
		<td>	
<form name="form1" action="Privilege!addpri.action" method="POST">
<input type="hidden" name="roleId" value=<ww:property value="roleId"/>>
<div class="dtree">
	<script type="text/javascript">
		<!--
		var stdArray = new Array();
		d = new dTree('d');
		<ww:iterator value="privileges" status="status">
			<% 
				String priGranted = "false";
				if(privilegesGrantedId.contains(stack.findValue("id"))){
					priGranted = "true";
				}
			%>
			<ww:if test="parent_id==null">
					d.add(Number(<ww:property value="id"/>),-1,'<input type="checkbox" name="selectPrivileges" id="<ww:property value="id"/>" <%if (priGranted=="true") out.print("checked = true");%> value="<ww:property value="id"/>" onclick="selectall_01(this);">'+'<ww:property value="name"/>');
			</ww:if>			
			<ww:elseIf test="parent_id!=null">
				d.add(Number(<ww:property value="id"/>),Number(<ww:property value="parent_id"/>),'<input type="checkbox" name="selectPrivileges" id="<ww:property value="id"/>" <%if (priGranted=="true") out.print("checked = true");%> value="<ww:property value="id"/>" onclick="selectbox(this);">'+'<ww:property value="name"/>','','','right');
			</ww:elseIf>	
			stdArray[<ww:property value="#status.index"/>]='<ww:property value="id"/>';
		</ww:iterator>
		document.write(d);
	</script>
	<script language="javascript">
		function selectall_01(obj){
			var  le = document.form1.selectPrivileges.length;
			var id = obj.id;
			for(i=0;i<le;i++)
			{
				if(document.form1.selectPrivileges[i].type=="checkbox" && document.form1.selectPrivileges[i].id!=id){
					document.form1.selectPrivileges[i].checked=obj.checked;			
				}
				
			}
		}
	function selectbox(obj){
		var name = obj.id;
		var len = name.length;
		if(obj.checked){
			for(i=0;i<stdArray.length;i++){
				id = stdArray[i].substring(0,len);
				if(name==id){
					cbx = document.getElementById(stdArray[i]);
					if(cbx != null){
						cbx.checked=true;	
					}
				}
			}
			len = Number(len)-2;
			for(j=len; j>1; j=j-2){
				cbx = document.getElementById(name.substring(0,j));
				if(cbx != null){
					cbx.checked=true;
				}			
			}
		}else{
			selectpriGranted(obj);
		}
	}
	function selectpriGranted(obj){	
		var name = obj.id;
		var num = name.length;	
		//当取消选报子节点时,如果同级节点还有被选中的话上层节点不变,否则也被取消
		
		for(i=0;i<stdArray.length;i++){ //取消所有下级
			if(stdArray[i].length >=num && stdArray[i].substr(0,num) == name){		
				cbx = document.getElementById(stdArray[i]);			
				if(cbx != null){
					cbx.checked = false;
				}
			}
		}
		
		var sfxz = "0";//同一级是否有被选中的	
		var len = Number(num)-2;	
		tmp = name.substr(0,len);
		for(i=0;i<20;i++){ //校验同级节点是否还有被选中的
			if(i<10){
				tmpName = tmp+"0"+i;
			}else{
				tmpName = tmp+i;
			}		
			cbx = document.getElementById(tmpName);			
			if(cbx != null && cbx.checked){
				sfxz = "1";
				break;
			}
		}	
		
		if(sfxz == "0"){
			basename = name.substr(0,len);
			for(j=len; j>1; j=j-2){
				var num1 = j+2;
				var vid = name.substring(0,j);
				var sfxy = "0";//判断当前节点下属节点的是否还有被选中的
				for(i=0;i<20;i++){
					if(i<10){
						tmpName = vid+"0"+i;
					}else{
						tmpName = vid+i;
					}	
					cbx = document.getElementById(tmpName);
					if(cbx != null && cbx.checked==true){
						sfxy="1";
					}
				}
				if(sfxy=="0"){//如果同级节点没有被选中的话,上级节点取消选中
					cbx = document.getElementById(vid);
					if(cbx != null){
						cbx.checked=false;	
					}		
				}
			}
		}
	}
	</script>
</div>
	</td>
	</tr>
	</table>
</form>
</BODY>
</HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -