**前台代码:注意.**contentType:"application/json;charset=utf-8",必须要设置,只有这样SpringMVC才认识这个json数组参数
1functionsaveRole(){ 2/*获取所有勾选的节点*/ 3vartreeObj=$.fn.zTree.getZTreeObj("treeDemo"); 4varnodes=treeObj.getCheckedNodes(true); 5 6/*获取选中的角色id*/ 7varroleId=$(".selector").attr("roleId"); 8varroleMenusArray=[];//对象数组 9varroleMenu; 10for(varnodeinnodes){//循环所有选中的节点 11roleMenu=newObject();//初始化对象 12roleMenu.roleId=roleId;//角色id 13roleMenu.menuId=nodes[node].id;//菜单id 14roleMenusArray.push(roleMenu);//放入数组 15} 16varroleMenus=JSON.stringify(roleMenusArray);//将数组转换为json数组字符串 17 18/*发送异步请求进行权限修改*/ 19$.ajax({ 20type:"post", 21url:"${ctx}/sys/updateRoleMenu.html", 22data:roleMenus, 23contentType:"application/json;charset=utf-8", 24dataType:"json", 25success:function(data){ 26layer.open({ 27content:data.msg, 28offset:[100,400], 29icon:6 30}); 31}, 32error:function(){ 33alert("error"); 34} 35}) 36console.log(nodes) 37}后台代码:
1@RequestMapping(value="/updateRoleMenu.html",method=RequestMethod.POST, 2produces="text/html;charset=UTF-8;") 3@ResponseBody 4publicStringupdateRoleMenu(@RequestBodyList<SysRoleMenu>list,HttpServletRequestrequest, 5HttpServletResponseresponse){ 6MsgVomsgVo=newMsgVo(); 7try{ 8if(list!=null&&list.size()>0){ 9for(SysRoleMenusysRoleMenu:list){ 10sysRoleMenu.setId(commonUtil.getUUID()); 11} 12 13//先删除以前的 14sysRoleMenuService.deleteByRoleId(list.get(0).getRoleId()); 15 16//添加用户重新赋予的权限 17booleanres=sysRoleMenuService.batchAddByList(list); 18 19if(!res){ 20msgVo.setStatus(500); 21msgVo.setMsg("修改菜单权限失败!"); 22}else{ 23msgVo.setStatus(200); 24msgVo.setMsg("修改菜单权限成功!"); 25 26//写入日志bg 27SysLogsysLog=newSysLog(); 28sysLog.setId(commonUtil.getUUID());//id 29sysLog.setLogId(commonUtil.getUUID());//主键 30sysLog.setLogType(GLOBAL_CONSTANT.sys_log_column1[1]);//日志类型 31sysLog.setLogTitle("系统管理/角色管理");//功能标题 32sysLog.setLogUrl(commonUtil.getRequestURL(request,response));//url地址 33sysLog.setLogMethod(commonUtil.getMethod(request,response));//提交方法 34sysLog.setCreateBy(request.getSession().getAttribute("userName").toString());//创建人 35sysLog.setCreateDate(DateUtil.getcurrentDate());//创建时间 36sysLog.setLogContent("系统用户---->>" 37+request.getSession().getAttribute("userName").toString() 38+"修改菜单权限,时间---->>"+DateUtil.getCurrentDate());//操作日志的内容 39sysLog.setRemarks("");//备注 40sysLog.setLogError(""); 41sysLogservice.insert(sysLog); 42//写入日志ed 43 44} 45} 46}catch(Exceptione){ 47e.printStackTrace(); 48} 49returnjsonUtil.objToJson(msgVo); 50}本文内容总结:
原文链接:https://www.cnblogs.com/xujingyang/p/7325905.html