Java 如何将JSON数组传递给Spring MVC?
如何将JSON数组传递给Spring MVC 我试图找到一种方法,将JSON中的对象数组传递给SpringMVC(Java) 下面是设置两个数组并进行调用的javascript:Java 如何将JSON数组传递给Spring MVC?,java,ajax,json,spring,spring-mvc,Java,Ajax,Json,Spring,Spring Mvc,如何将JSON数组传递给Spring MVC 我试图找到一种方法,将JSON中的对象数组传递给SpringMVC(Java) 下面是设置两个数组并进行调用的javascript: function doAjaxPost() { var inData = {}; inData.name = ['kurt','johnathan']; inData.education = ['GSM','HardKnocks']; htmlStr = JSO
function doAjaxPost() {
var inData = {};
inData.name = ['kurt','johnathan'];
inData.education = ['GSM','HardKnocks'];
htmlStr = JSON.stringify(inData);
alert(htmlStr);
$.post( contexPath + "/AddUser.htm", inData, function(outData, outStatus){
alert(outStatus);
});
};
这是我的Java(Spring MVC)控制器:
@RequestMapping(value="/AddUser.htm",method=RequestMethod.POST)
public @ResponseBody JsonResponse addUser(@ModelAttribute(value="user") User user, BindingResult result ){
JsonResponse res = new JsonResponse();
ValidationUtils.rejectIfEmpty(result, "name", "Name can not be empty.");
ValidationUtils.rejectIfEmpty(result, "education", "Educatioan not be empty");
if(!result.hasErrors()){
userList.add(user);
res.setStatus("SUCCESS");
res.setResult(userList);
}else{
res.setStatus("FAIL");
res.setResult(result.getAllErrors());
}
return res;
}
这是我正在使用的bean:
public class User {
private String name = null;
private String education = null;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getEducation() {
return education;
}
public void setEducation(String education) {
this.education = education;
}
}
请让我知道正确的方法让它工作。。。这就是我得到的错误。。
严重:Servlet Spring MVC调度程序Servlet的Servlet.service()引发异常
org.springframework.beans.InvalidPropertyException:bean类[com.raistudies.domain.User]的无效属性“education[]”:索引属性路径“education[]”中引用的属性既不是数组,也不是列表,也不是映射;返回值为[[Ljava.lang.String;@6fef3221]JSON中的education属性似乎是一个数组,但在POJO中它是一个字符串 如果你改变
private String education = null
到
private List education=null
它应该可以工作,您还必须对名称执行相同的操作。这显示了如何将JSON对象从控制器获取到页面,但我需要了解如何将一个对象数组从页面传递回控制器。它不起作用。.仍然得到错误:java.lang.NumberFormatException:对于输入字符串:“这不是这个问题的错误,为什么你应该用不同的名称重新发布同一个问题。可能是重复的。”
private List<String> education = null