角色管理里面不光有角色的新增和刪除寞肖,還有給角色賦權(quán)限哲身。賦權(quán)限的時候不光有模塊的權(quán)限辩涝,還有模塊下各個按鈕的權(quán)限。
1勘天、角色管理界面
這一塊的代碼非常簡單怔揩,顯示如下圖所示:
2、角色新增和修改界面
這里需要同時顯示該系統(tǒng)所有的模塊及按鈕误辑,界面展示如下圖所示:
顯示所有模塊和按鈕
<c:forEach items="${listModule }" var="sysModule" varStatus="st">
<c:if test="${sysModule.parentId eq 1 }">
<div class="widget-box">
<!-- #section:custom/widget-box.options -->
<div class="widget-header">
<h4 class="widget-title">
<label> <input name="module" class="ace father" type="checkbox"
id="mod_${sysModule.id }"
value="${sysModule.id }"/> <span class="lbl"> <i
class="ace-icon fa fa-pencil-square-o"></i> ${sysModule.name }</span>
</label>
</h4>
<div class="widget-toolbar">
<a href="#" data-action="collapse"> <i
class="ace-icon fa fa-chevron-up"></i>
</a>
</div>
</div>
<div class="widget-body">
<div class="widget-main">
<c:forEach items="${listModule }" var="secModule" varStatus="st">
<c:if test="${sysModule.id eq secModule.parentId }">
<label> <input name="module" id="mod_${secModule.id }"
type="checkbox" value="${secModule.id }"
class="ace children"/> <span class="lbl"> <i
class="ace-icon fa fa-pencil-square-o"></i> ${secModule.name}</span>
</label>
<c:forEach items="${listFunction }" var="sysFunction"
varStatus="st">
<c:if test="${sysFunction.parentId eq secModule.id }">
<label class="checkbox inline" style="color: blue"><input
name="function" id="function_${sysFunction.id }"
type="checkbox" value="${sysFunction.id }"
class="ace children"/>
<span class="lbl"> <i
class="ace-icon fa fa-align-justify"></i> ${sysFunction.name }</span>
</label>
</c:if>
</c:forEach>
<br/>
</c:if>
</c:forEach>
</div>
</div>
</div>
</c:if>
</c:forEach>
這一塊的難點是如何多級顯示所有模塊和按鈕沧踏,原理是定義一個ListModule,所有的功能模塊巾钉,再定義ListFunction,所有的按鈕秘案,先循環(huán)ListModule砰苍,顯示一級的,再循環(huán)ListModule阱高,顯示該一級下的二級模塊赚导,循環(huán)ListFucntion,顯示所有按鈕赤惊。