📄 index.jsp
字号:
<%@ page language="java" contentType="text/html; charset=GB18030"
pageEncoding="GB18030"%>
<%@include file="/common/common.jsp"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GB18030">
<link href="style/oa.css" rel="stylesheet" type="text/css">
<script language="javascript" src="script/public.js"></script>
<script type="text/javascript" src="dwr/engine.js"></script>
<script type="text/javascript" src="dwr/util.js"></script>
<script type="text/javascript" src="dwr/interface/aclManager.js"></script>
<script type="text/javascript">
//授权
function addOrUpdatePermission(field){
dwr.engine.setAsync(false);
//如果被选择上,则同时选择其"不继承"和"启用"checkbox
if(field.checked){
$(field.moduleSn+"_USE").checked = true;
<c:if test="${principalType eq 'User' }">
$(field.moduleSn+"_EXT").checked = true;
addOrModifyUserExtends(field);
</c:if>
}
//调用后台代码
aclManager.addOrUpdatePermission(
"${principalType}",
${principalSn},
field.moduleSn,
field.permission,
field.checked
);
}
//设置用户的继承特性
function addOrModifyUserExtends(field){
aclManager.addOrModifyUserExtends(
${principalSn},
field.moduleSn,
!field.checked
);
}
//点击启用checkbox
function hasPermission(field){
//如果checkbox被选中,意味着需要更新ACL的状态
//设置为同步方式,以便DWR依次发出下列请求
dwr.engine.setAsync(false);
if(field.checked){
//更新C/R/U/D
addOrUpdatePermission($(field.moduleSn+"_C"));
addOrUpdatePermission($(field.moduleSn+"_R"));
addOrUpdatePermission($(field.moduleSn+"_U"));
addOrUpdatePermission($(field.moduleSn+"_D"));
//更新Extends状态
<c:if test="${principalType eq 'User' }">
addOrModifyUserExtends($(field.moduleSn+"_EXT"));
</c:if>
}else{
aclManager.deletePermission(
"${principalType}",
${principalSn},
field.moduleSn
);
$(field.moduleSn+"_C").checked = false;
$(field.moduleSn+"_R").checked = false;
$(field.moduleSn+"_U").checked = false;
$(field.moduleSn+"_D").checked = false;
<c:if test="${principalType eq 'User' }">
$(field.moduleSn+"_EXT").checked = false;
</c:if>
}
}
//初始化授权表格
function initTable(){
aclManager.searchAclRecord(
"${principalType}",
${principalSn},
function(datas){
for(var i=0; i < datas.length; i++){
var moduleSn = datas[i][0];
var cState = datas[i][1];
var rState = datas[i][2];
var uState = datas[i][3];
var dState = datas[i][4];
var extState = datas[i][5];
$(moduleSn+"_C").checked = cState == 0 ? false : true;
$(moduleSn+"_R").checked = rState == 0 ? false : true;
$(moduleSn+"_U").checked = uState == 0 ? false : true;
$(moduleSn+"_D").checked = dState == 0 ? false : true;
<c:if test="${principalType eq 'User' }">
$(moduleSn+"_EXT").checked = extState == 0 ? true : false;
</c:if>
$(moduleSn+"_USE").checked = true;
}
}
);
}
//测试WDR整合
function test1(){
aclManager.mothed1(function (data){alert(data);});
}
</script>
<c:choose>
<c:when test="${principalType eq 'Role' }">
<c:set var="title" value="请给角色【${role.name }】授权" />
</c:when>
<c:otherwise>
<c:set var="title" value="请给用户【${user.username }】授权" />
</c:otherwise>
</c:choose>
<title>${title }</title>
</head>
<body onload="initTable()">
<center>
<input type="button" value="测试DWR" onclick="test1()">
<TABLE class="tableEdit" border="0" cellspacing="1" cellpadding="0" style="width: 580px;">
<TBODY>
<TR>
<!-- 这里是添加、编辑界面的标题 -->
<td align="center" class="tdEditTitle">${title }</td>
</TR>
<TR>
<td>
<!-- 主输入域开始 -->
<table class="tableEdit" style="width:560px;" cellspacing="0" border="0" cellpadding="0">
<tr>
<td class="tdEditLabel" >顶级模块</td>
<td class="tdEditLabel">二级模块</td>
<td class="tdEditLabel" >权限</td>
<c:if test="${principalType eq 'User' }">
<td class="tdEditLabel" >不继承</td>
</c:if>
<td class="tdEditLabel" >启用</td>
</tr>
<!-- 输出模块树 -->
<c:forEach items="${modules }" var="module">
<tr>
<td>${module.name }</td>
<td></td>
<td>
<input type="checkbox" id="${module.id }_C" onclick="addOrUpdatePermission(this)" moduleSn="${module.id }" permission="0">C
<input type="checkbox" id="${module.id }_R" onclick="addOrUpdatePermission(this)" moduleSn="${module.id }" permission="1">R
<input type="checkbox" id="${module.id }_U" onclick="addOrUpdatePermission(this)" moduleSn="${module.id }" permission="2">U
<input type="checkbox" id="${module.id }_D" onclick="addOrUpdatePermission(this)" moduleSn="${module.id }" permission="3">D
</td>
<c:if test="${principalType eq 'User' }">
<td><input type="checkbox" id="${module.id }_EXT" onclick="addOrModifyUserExtends(this)" moduleSn="${module.id }"></td>
</c:if>
<td><input type="checkbox" id="${module.id }_USE" onclick="hasPermission(this)" moduleSn="${module.id }"></td>
</tr>
<c:forEach items="${module.children }" var="child">
<tr>
<td></td>
<td>${child.name }</td>
<td>
<input type="checkbox" id="${child.id }_C" onclick="addOrUpdatePermission(this)" moduleSn="${child.id }" permission="0">C
<input type="checkbox" id="${child.id }_R" onclick="addOrUpdatePermission(this)" moduleSn="${child.id }" permission="1">R
<input type="checkbox" id="${child.id }_U" onclick="addOrUpdatePermission(this)" moduleSn="${child.id }" permission="2">U
<input type="checkbox" id="${child.id }_D" onclick="addOrUpdatePermission(this)" moduleSn="${child.id }" permission="3">D
</td>
<c:if test="${principalType eq 'User' }">
<td><input type="checkbox" id="${child.id }_EXT" onclick="addOrModifyUserExtends(this)" moduleSn="${child.id }"></td>
</c:if>
<td><input type="checkbox" id="${child.id }_USE" onclick="hasPermission(this)" moduleSn="${child.id }"></td>
</tr>
</c:forEach>
</c:forEach>
</table>
<!-- 主输入域结束 -->
</td>
</TR>
</TBODY>
</TABLE>
<TABLE>
<TR align="center">
<TD colspan="3" bgcolor="#EFF3F7">
<input type="button" class="MyButton" value="关闭窗口"
onclick=window.close();>
</TD>
</TR>
</TABLE>
</center>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -