2013-03-15 80 views
0

我創建了一個對象,並加入到jQuery的數組如下傳遞一個自定義的jQuery類春季控制器

function CharacterData(name,value,type) { 
    this.name = name; 
    this.value = value; 
    this.type = type; 
} 

var characters = new Array(); 
characters[0]=new CharacterData("0","1","2"); 
characters[1]=new CharacterData("0","1","2"); 
$.ajax({ 
    type: "POST", 
    url: "xxyyzz.action", 
    data: { 
     characters:characters 
    }, 
    success:function(response) { 
     alert("GOOD"); 
    } 
}); 

現在我需要這個值傳遞給我的Spring MVC的控制器如下

@ResponseBody 
@RequestMapping(value = "xxyyzz.action", method = {RequestMethod.POST}) 
public MyClass getxxyyzzPage(
     final CharacterDataList characters) { 
      return null; 
     } 

的POJO是如下

public class CharacterDataList { 

    private List<CharacterData> characterData; 

    public List<CharacterData> getCharacterData() { 
     return characterData; 
    } 

    public void setCharacterData(
      final List<CharacterData> characterData) { 
     this.characterData = characterData; 
    } 
} 

接着一個

public class CharacterData { 

    private String name, value, type; 

    public String getName() { 
     return name; 
    } 

    public void setName(final String name) { 
     this.name = name; 
    } 

    public String getValue() { 
     return value; 
    } 

    public void setValue(final String value) { 
     this.value = value; 
    } 

    public String getType() { 
     return type; 
    } 

    public void setType(final String type) { 
     this.type = type; 
    } 
} 

但是在控制器中,我得到「characters!= null」但是「characters.characterData = null」。請讓我知道如何傳遞這些值?

回答

0

我不認爲你需要CharacterDataList。我相信問題在於反編組人員正在尋找具有「characterData」成員的值「字符」。你有一組「字符」,它們只有一堆碰巧是CharacterData類型的對象。

您是否嘗試將您的Controller方法更改爲List?

+0

感謝您的回覆...什麼類型的列表? – Aravind 2013-03-16 16:04:53

+0

我會做一個List CodeChimp 2013-03-17 11:43:24

+0

我得到一個異常說List不能實例化:( – Aravind 2013-03-18 10:13:41