我正在使用AJAX从数据库中获取Company
个对象的列表。我已将@ResponseBody添加到我的控制器方法中。和jackson-mapper-asl
依赖。下面是AJAX调用:
$.ajax({
type : 'GET',
url : $("#contextpath").val() + '/getCompanyList',
success : function(response) {
alert(response);
}
});
控制器方法:
@RequestMapping(value="/getCompanyList", method=RequestMethod.GET)
public @ResponseBody List<Company> getCompanyList() {
logger.debug("reached controller getCompanyList");
return companyServices.getCompanyList();
}
但我收到错误
找不到类型为:class java.util.ArrayList
的返回值的转换器
其次,有没有办法将Java对象列表返回给AJAX而不将其转换为JSON?
答案 0 :(得分:2)
但我收到错误
看起来你缺少一个Ajax lib(例如杰克逊)或转换器未注册,可能缺少mime类型(映射)
有没有办法将Java对象列表返回给AJAX而不将其转换为JSON?
对于服务器和客户端之间的对话,需要将该传输日期序列化为某种格式,并且客户端将其反序列化。 (典型的格式是Json,XML和许多不同的二进制格式)。对于AJAX,通常使用JSON(通常不是XML)。要回答您的问题:您可以使用其他格式(例如XML),但必须序列化它! 但是JSON在客户端和服务器端对AJAX提供了最好的支持