2012-05-31 49 views
0

如何將JSON數組傳遞給Spring-MVC?如何將JSON數組傳遞給Spring-MVC?

我試圖找到一種方法來傳遞對象的數組中的JSON和Spring-MVC(JAVA)..

下面

是我的javascript是設置兩個數組,並進行呼叫:

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.service()的servlet的Spring MVC的分發程序Servlet拋出異常 org.springframework.beans。 InvalidPropertyException:bean class [com.raistudies.domain.User]的無效屬性'education []':索引屬性路徑'education []'中引用的屬性既不是數組,也不是列表或映射;返回值[Ljava.lang.String; @ 6fef3212]

+0

可能重複[反序列化json數組在Spring MVC控制器](http://stackoverflow.com/questions/27613613/deserializing-json-array-in-spring-mvc-controller) –

回答

0

好像在你的JSON教育屬性是一個陣列,但在你的POJO這是一個字符串

如果更改

private String education = null 

private List<String> education = null 

它應該工作,你還必須爲名稱做同樣的事情。

+0

這顯示瞭如何獲取JSON對象從控制器到頁面,但我需要找出如何從頁面傳遞一組對象返回到控制器 – SJS

+0

更新我的回答 – dardo

+0

它沒有工作..仍然收到錯誤:java.lang.NumberFormatException:對於輸入字符串:「 – SJS