Day37项目saas-export项目-修改用户角色**

修改用户角色

TestRoleService


    @Test
    public void test06(){
        //老王的角色列表
        String userId="002108e2-9a10-4510-9683-8d8fd1d374ef";
        String[] roleIds = {"4028a1cd4ee2d9d6014ee2df4c6a0010"};

        iRoleService.updateUserRole(userId,roleIds);

    }

IRoleService,RoleServiceImpl


    void updateUserRole(String userId, String[] roleIds);

@Override
    public void updateUserRole(String userId, String[] roleIds) {
        //删除
        iRoleDao.deleteUserRoleByUserId(userId);//删除 用户角色中间表

        for(String roleId:roleIds){
            iRoleDao.saveUserRole(userId,roleId);
        }
    }

IRoleDao,IRoleDao.xml

void deleteUserRoleByUserId(String userId);
    void saveUserRole(String userId, String roleId);
<delete id="deleteUserRoleByUserId" parameterType="string">
            delete from pe_role_user  where user_id=#{userId}
    </delete>

    <insert id="saveUserRole" >
            insert into pe_role_user values(#{arg0},#{arg1})
    </insert>

用户角色的保存页面

user-role.jsp

<script>
    function formSubmit() {
        document.icform.action="${path}/system/user/updateUserRole.do";
        document.icform.submit();
    }
</script>

参数要正确,必须有一个userId和多个roleId(后者放在roleIds数组中)

       <form name="icform" method="post" >
                    <input type="hidden" name="userId" value="${user.userId}"/>

                    <div class="textbox" id="centerTextbox">
                            <div style="text-align:left">

                                <c:forEach items="${roleList}" var="role" varStatus="vs">
                                     <span style="padding:3px;margin-right:30px;width: 160px;display: inline-block">
                                         <input type="checkbox" name="roleIds" value="${role.roleId}"
<%--                                               根据role对象中的checked属性进行判断,如果为true,则打勾,否不打勾--%>
                                                 <c:if test="${role.checked}">
                                                     checked
                                                 </c:if>

                                         />
                                         ${role.name}
                                     </span>
                                </c:forEach>
                            </div>
                        </div>
                </form>

UserController


    //${path}/system/user/updateUserRole.do
    //userId
    //String[] roleIds
    @RequestMapping(path = "/updateUserRole", method = {RequestMethod.GET, RequestMethod.POST})
    public String updateUserRole(String userId,String[] roleIds){//接收用户的userId与角色的roleIds
        //String userId="002108e2-9a10-4510-9683-8d8fd1d374ef";
        //String[] roleIds = {"4028a1cd4ee2d9d6014ee2df4c6a0010"};
        l.info("updateUserRole userId = "+userId);
        l.info("updateUserRole roleIds = "+ Arrays.toString(roleIds));
        //用户的角色修改
        iRoleService.updateUserRole(userId,roleIds);
        //打开列表页面
        return "redirect:/system/user/toList.do";
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

翁老师的教学团队

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值