我试图通过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,名称为......”
我哪里出错了? 先感谢您! 此致
答案 0 :(得分:0)
创建一个Model类
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对象,然后它将绑定到包装类