0

我创建了一个对象并添加到 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”。请让我知道如何传递这些值?

4

1 回答 1

0

我认为您不需要 CharacterDataList。我认为问题在于解组器正在寻找具有成员“characterData”的值“characters”。你有一个“字符”数组,其中只有一堆恰好是 CharacterData 类型的对象。

您是否尝试过将控制器方法更改为列表?

于 2013-03-15T14:42:17.207 回答