springmvc接口参数中,获取多个对象

本文介绍了在SpringMVC中如何处理前端传递的多个相同类型对象,包括使用传统方式通过名称加序号、使用数组方式以及推荐的通过JSON字符串传递。详细讲解了不同方法的前端数据格式和后台接收代码,特别提到了使用@RequestBody注解处理JSON数据的注意事项及可能出现的问题。
摘要由CSDN通过智能技术生成

需求:保存或者修改时,前端传多个相同类型的对象,后台获取

方法1:(麻烦,不推介

前台 :前端数据,通过在名称加序号,譬如:[{"name_0":"can","sex_0",1},{"name_1":"phil","sex_0",0}]

后台:通过遍历,request.getParameter("name_" + i),来获取

 

方法2:(数组)

2.1)JAVA原生

前端数组格式:{ "id" : [ 1,2,3] }

前端:

var data = [1,2,3];
$.ajax({
	type: "post",
	url: url,
	data: {"id": data},
	success:function(result){
					
	},
	error:function(e){
					
	}
});

后台:controller参数中,通过request.getParameterNames()和request.getParameterMap()方式配合获取,但主要是通过request.getParameterMap()获取

@RequestMapping("test")
public void test(HttpServletRequest request,HttpServletResponse response) throws Exception{
		Enumeration ea = request.getParameterNames();//获取所有key
		Map map = request.getParameterMap();//获取所有key和value
		while(ea.hasMoreElements()){
			String key = (String)ea.nextElement();//key
			Object value = map.get(key);
			if(value instanceof String){
				String v = (String)value;
				System.out.println(v);
			}
			if(value instanceof Integer){
				Integer v = (Integer)value;
				System.out.println(v);
			}
			if(value instanceof String[]){
				String[] v &#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值