从Spring Controller返回Custom对象

时间:2012-10-11 21:43:35

标签: java spring model-view-controller

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

问题是我发送ajaz请求时遇到500内部服务器错误,但不知道原因。

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

感谢。

1 个答案:

答案 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,并在视图中轻松解析。