我正在从网页发送一个ajax请求,该请求被映射到我的控制器中的方法。我返回此方法的类型,我已设置为自定义MessageForm对象,我在方法内创建。
问题是我发送ajaz请求时遇到500内部服务器错误,但不知道原因。
我是否必须从控制器方法返回特定对象?
感谢。
答案 0 :(得分:2)
标准控制器方法将返回一些参考与其关联的视图(例如ModelAndView
或仅与视图名称匹配的String
)。
如果要返回自定义对象,则需要指定响应正文是内容,而不是视图引用。您可以使用@ResponseBody
注释执行此操作。
@RequestMapping(value = "getSomeList.do", method = RequestMethod.GET)
public @ResponseBody List<String> getSomeList() {
List<String> myList = getMyList();
return myList;
}
与Jackson之类的库结合使用,您可以将其序列化为JSON,并在视图中轻松解析。