From my JS file I am posting this JSON data.
myPayload[0].id=1&myPayload[0].name=Me&myPayload[0].pId=2&myPayload[0].pName=Dad
YUI Code:
var formElements = YAHOO.util.Connect.setForm("myFormId");
alert("New form elements:" + formElements); // Alerting POST data as shown above
YAHOO.util.Connect.resetFormState();
YAHOO.util.Connect.asyncRequest("POST", "/mycontroller/save", {
cache : false,
success : function(res) {
alert(res.responseText);
},
failure : function(res) {
alert(res.responseText);
}
}, formElements);
Controller Code:
@RequestMapping(value = "/save", method=RequestMethod.POST)
@ResponseBody
public String saveData(ModelMap mm, @ModelAttribute("myPayload") MyBean bean, BindingResult errors) {
log.info("save:Called");
List<MyDTO> lst = bean.getList();
log.info("save:Number of records:" + lst.size());
return "Successfully Updated.";
}
Bean Code:
public class MyBean {
private List<MyDTO> myPayload = new AutoPopulatingList<MyDTO>(MyDTO.class);
public List<MyDTO> getList() {
return myPayload;
}
public void setList(List<MyDTO> mList) {
this.myPayload = mList;
}
}
The list is still empty. The bean values are also empty. What am I doing wrong here?