SpringMVC接收对象数组参数进行封装
本文内容纲要:
**前台代码:注意.**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