2013-03-15 84 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