注解@requestBody自动封装复杂对象 (成功,自己的例子封装的不是一个复杂对象,只是一个简单的User对象,将jsp页面的name转成json字符转,再用JSON.stringify()传参就行了)

注意:ajax向后台传值的时候,必须加上contentType:"application/json";

springmvc的注解@requestBody可以通过页面提交json来自动封装成bean对象,但是如果这样的怎么处理

public class User{
    private String id;
    private int age; private String name; private Class classInfo; //getter,setter } public class ClassInfo{ private String id; private name; private User classMaster; private School school; @JsonIgnore private Set<User> teachers; //getter,setter } public class School{ private String id; private String name; //getter,setter } 

我封装的json对象是

"classInfo":{
    "id":"xxxxx",
    "name":"一年级三班", //班主任 "classMaster":{ "id":"xxxx", "age":"92", "name":"班主任" }, //学校 "school":{ "id":"xxx", "name":"旭日东升小学" }, //教师集合 "teachers":[ { "id":"xxxx", "age":"92", "name":"语文老师" }, { "id":"xxxx", "age":"92", "name":"数学老师" } ] } 

提交的时候data : JSON.stringify(classInfo)
这样的班级里面包含了班主任,教师集合,还有学校,后台是这样的

 
@requestMapping("xxxx")
@responseBody
public Map<String,Object> addClass(Model model, @requestBody ClassInfo classInfo){ xxxx }

猜你喜欢

转载自www.cnblogs.com/mark5/p/10955483.html
今日推荐