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