如何在spring-mvc控制器中重复提取从ajax请求作为Json数据发送的数据?
问题描述:
我发送一组数据作为json从ajax函数的对象数组到我的spring mvc控制器方法。即。如何在spring-mvc控制器中重复提取从ajax请求作为Json数据发送的数据?
[{"item":"Cheese Lover","size":"960.00","qty":"1"},{"item":"Garlic Bread","size":"390.00","qty":"1"},{"item":"pudding3","size":"420.00","qty":"2"}]
我需要单独提取这些数据项,大小和数量,这样我可以养活领域的SQL和数据发送到数据库。但是我被困在这里,因为我不知道如何正确地做到这一点,这是我迄今为止使用的控制器方法。
@RequestMapping(value = "/add_package")
public @ResponseBody
String addPackage(@ModelAttribute("command") Package newPackage,
// @RequestBody PackageContent[] content,
HttpServletRequest request){
PackageContent packageContent = new PackageContent();
String s=request.getParameter("test");
ObjectMapper objectMapper=new ObjectMapper();
JSONObject obj= new JSONObject();
try {
obj=objectMapper.readValue(s, JSONObject.class);
obj.get(packageContent.getItem());
/*for(PackageContent content1 : s){
//System.out.println(content1.getItem());
LOGGER.trace("hhh "+content1.getItem());
}*/
} catch (Exception e) {
LOGGER.error("error {}",e);
}
return obj.toString();}
当我登录时的结果在控制台中,阿贾克斯成功的功能,仅显示为{}
。 我正在做这个表单提交按钮点击,这是否是错误的呢?如果是的话 何时以及如何在控制器中重复提取这些数据以便将它们发送给sql代码?
答
class Items{
private String item;
private String qty;
private String size;
//Getters and Setters compulsary because Jackson internally uses getters
//to set the value
}
答
Class ListOfItems{
List<Items> listItems;
//Getters and Setters
// Use Jackson Here to Convert
ListOfItems itemList = new ObjectMapper().readValue(jsonString, ListOfItems.class);
}
我想这个..但这并没有工作,但.. – SMash