需求:保存或者修改时,前端传多个相同类型的对象,后台获取
方法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 &#