?效果如下:
實現方式:
在權限對象中加入一個標識屬性,例如:
@Transient
private Integer isCheck; // 是否選中,就為了不用Spring標簽,我容易么. 0為未選中
public AdminPermission() {
isCheck = 0;
}
?通過構造函數,為其設置默認值。
在相關的Service中,用全部權限和角色擁有的權限作對比,如下:
public List<AdminPermission> findAdminHasPermissonsByRoleId(String strId) {
AdminRole adminRole = findAdminRoleById(strId);
// 應該被選中的權限
List<AdminPermission> shouldCheckPermisson = rolePermissonService
.findRoleHasPermissons(adminRole.getStrId());
// 所有權限
List<AdminPermission> allPermisson = permissonService
.findAdminPermissons();
for (AdminPermission has : shouldCheckPermisson) {
//如果全部權限中包含角色擁有的這個權限
if (allPermisson.contains(has)) {
//獲得這個權限的位置
int index = allPermisson.indexOf(has);
//通過位置,獲取到這個權限,將其未改為非0值
allPermisson.get(index).setIsCheck(1);
}
}
return allPermisson;
}
?
頁面中,使用jstl取出,如下:
<c:forEach items="${permissons }" var="permisson">
<input type="checkbox" <c:if test="${permisson.isCheck!=0}">checked="checked"</c:if> name="permissonid" value="${permisson.strId }">${permisson.strPermissionName }
</c:forEach>
?
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061
微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元

