前台js
String stu=[];
stu[0]={name:"学生1",,age:18,sex:"男"};
stu[1]={name:"学生2",,age:19,sex:"男"};
//请求发起
$.ajax({
url:"请求的后台路径",
data:JSON.stringify(stu),
type:post,//请求类型
dataType:"json",//请求返回的信息类型,默认是文本类型
success:function(data){
//请求成功的回调函数,data是你的数据
}
})
后台
第一种:
@RequestMapping("/test.bo") //请求的地址
@ResponseBody
public String test(String str){
//因为前台已经转换成字符串了,引入gson的包,先转换成对象数组
Student[] array = new Gson().fromJson(list,Student[].class);
//转换成集合对象
List<Student> list2 = Arrays.asList(array);
}
第二种:没试验,思路是没有问题的,
新建实体类,实体类里面写set get方法
public class StudentList extends Student{
private List<Student> list;
public void setList(List<Student> list){
this.list=list;
}
public List<Student> getList(){
return this.list;
}
}
controlle层
@RequestMapping("/test.bo") //请求的地址
@ResponseBody
public String test(StduentList list){
//前台的data参数不要格式化了,写 data: {list : stu } ,这样就行,前后的参数list要一致
}
注:不建议使用第二种,因为每次都需要新建实体类,不太好