0

我正在从一个网页发送一个 ajax 请求,该请求被映射到我的控制器中的一个方法。我返回我已设置为自定义 MessageForm 对象的此方法的类型,该对象是我在方法中创建的。

问题是我在发送 ajaz 请求时收到 500 内部服务器错误,但不知道为什么。

我是否必须从控制器方法返回特定对象?

谢谢。

4

1 回答 1

2

一个标准的控制器方法将参考与之关联的视图返回一些东西(例如,一个ModelAndView或只是一个String匹配的视图名称)。

如果要返回自定义对象,则需要指定响应正文是内容,而不是视图引用。您可以使用@ResponseBody注释来执行此操作。

@RequestMapping(value = "getSomeList.do", method = RequestMethod.GET)
public @ResponseBody List<String> getSomeList() {
    List<String> myList = getMyList();

    return myList;
}

结合Jackson之类的库,您可以将其序列化为 JSON,并使其在您的视图中易于解析。

于 2012-10-11T21:52:03.133 回答