0

我试图通过 Ajax 请求将 json 发送到 Spring mvc 控制器但没有成功。json 字符串具有以下形式:

{"Books": 
   [{'author':'Murakami','title':'Kafka on the shore'},{'author':'Murakami','title':'Norwegian Wood'}]}

解析 json 的控制器通过这个 java bean 包装它:

class Books{
   List <Map<String, String>> books;
   //...get & set method of the bean
}

控制器方法具有以下形式:

    @RequestMapping(method = { RequestMethod.GET, RequestMethod.POST }, value = "/checkBook.do")
public ModelAndView callCheckBook(
        @RequestBody Books books){....}

不幸的是,这不起作用,我在调用该方法时收到以下错误:“Null ModelAndView 返回到 DispatcherServlet with name...”

我哪里错了?先感谢您!问候

4

1 回答 1

0

创建一个模型类

class Books
{
private string author;
private string title;
// gets and sets
}

并且还像这样创建 Wrapper 类

class BookWrapper{
private List<Books> Books; // this name should matches the json header
}

现在在控制器中

@RequestMapping(method = { RequestMethod.GET, RequestMethod.POST }, value = "/checkBook.do")
public ModelAndView callCheckBook(
        @RequestBody BookWrapper Books){....}

在 Ajax 调用中创建一个论坛的 seralizeArray 这将为您提供 json 对象,然后它将绑定到包装器类

于 2016-12-02T04:22:31.317 回答