岗位设置权限

1 <s:a action="role_setPrivilegeUI?id=%{id}" namespace="/">设置权限</s:a>

2 //1 根据id查询当前要设置的角色,用于回显
  Role role = roleService.getById(model.getId());
  getValueStack().push(role);

 

//2 查询所有权限数据,在页面展示
//List<Privilege> privilegeList = privilegeService.findAll();
List<Privilege> privilegeList = privilegeService.findTopList();//查询顶级权限
getValueStack().set("privilegeList", privilegeList);


//3 查询当前角色对应的权限,用于页面回显
Set<Privilege> privileges = role.getPrivileges();
if(privileges != null && privileges.size() > 0){ 

privilegeIds = new Long[privileges.size()];
int index = 0;
for(Privilege p : privileges){
privilegeIds[index++] = p.getId();
}
}

return "setPrivilegeUI";

//4

<result name="setPrivilegeUI">/WEB-INF/jsp/role/setPrivilegeUI.jsp</result>

 

 

<s:iterator value="privilegeList">
<li>
<input id="cb_${id }"
<s:property value="id in privilegeIds ? 'checked' : '' "/>
value="${id }" type="checkbox" name="privilegeIds">
<label for='cb_${id }'><span class='folder' id='${id }'>${name }</span></label>

<ul>
<s:iterator value="children">
<li>
<input id="cb_${id }"
<s:property value="id in privilegeIds ? 'checked' : '' "/>
value="${id }" type="checkbox" name="privilegeIds">
<label for='cb_${id }'><span class='folder' id='${id }'>${name }</span></label>
<ul>
<s:iterator value="children">
<li>
<input id="cb_${id }"
<s:property value="id in privilegeIds ? 'checked' : '' "/>
value="${id }" type="checkbox" name="privilegeIds">
<label for='cb_${id }'><span class='folder' id='${id }'>${name }</span></label>
</li>
</s:iterator>
</ul>

</li>
</s:iterator>
</ul>
</li>
</s:iterator>

/**
* 为角色设置权限
*/
public String setPrivilege(){
//先查询,再修改
Role role = roleService.getById(model.getId());

if(privilegeIds != null && privilegeIds.length > 0){
//如果权限id数组不为空,就根据权限id数组查询对应的多个权限
List<Privilege> priviList = privilegeService.getByIds(privilegeIds);
role.setPrivileges(new HashSet<Privilege>(priviList));
}else{
//如果没有设置任何权限,就清空角色对应的权限
role.setPrivileges(null);
}

roleService.update(role);

return "toList";
}

转载于:https://www.cnblogs.com/tianluguilai/p/9444234.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值