如何在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); 
} 
+0

我想这个..但这并没有工作,但.. – SMash