springmvc接收多个实体对象或者List(layui)

具体效果

在表单中包含了老人信息,以及紧急联系的信息。我想同时提交。紧急联系人可以是多条数据。
在这里插入图片描述

具体实现

JS 中的具体代码

					var tableData=table.cache.contactTable;//layui table的信息
					var datas={};
					datas["elder"]=data.field;//获取老人表单信息
					datas["contact"]=JSON.stringify(tableData);
					 $.ajax({   
			    			                url:'/elder/update',       
			    			                method:'post',       
			    			                data:JSON.stringify(datas),  //转为jSON字符串      
			    			                contentType: "application/json",  
			    			                traditional: true,
			    			                dataType: 'json',      
			    			                success:function(da){   		
			    				                 layer.msg(da.msg);
			    								 setTimeout(function () {		    									
			    									 var index = parent.layer.getFrameIndex(window.name);
			    									 parent.layer.close(index);									 
			    					               }, 1000);              			                     
			    			                    },              
			    			                    error:function (data) {
			    			                        
			    			                       }           
			    			                    }) ;	
					 return false;
				});

Controller 中的实现

后端获取Json字符串,通过fastJson来选取出需要的数据。

    @PostMapping("/update")
	@ResponseBody
	public JSONResult add(@RequestBody String datas) {	
		//将string转为json对象
		JSONObject jsonObject=JSONObject.parseObject(datas);
		//获取elder的数值
		JSONObject elderJson= jsonObject.getJSONObject("elder");
		//转为实体
		Elder elder=JSON.parseObject(elderJson.toJSONString(), Elder.class);
		//获取contact 数组
		JSONArray contactjson= jsonObject.getJSONArray("contact");
		//转为list
		List<Contact> list = JSON.parseObject(contactjson.toJSONString(), new TypeReference<List<Contact>>(){});
		JSONResult JsonResult=null;
		if(elder.getElderid()!=null) 
		{
			JsonResult=elderService.update(elder,list);
		       }
		
		else {
			JsonResult=elderService.add(elder, list);
		}
		return JsonResult;
	}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值