?效果如下:
實現方式:
在權限對象中加入一個標識屬性,例如:
@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元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
