如何从Spring MVC中的表单发布返回简单的xml字符串


问题内容

在Spring MVC中,我有一个简单的http POST操作,不需要返回完整的网页。相反,我只需要返回一个xml字符串(例如)

真正

但是当我执行客户下面的操作时,得到的是404

@RequestMapping(value = "/updateStuffAjaxStyle.do", method = RequestMethod.POST)
public String updateStuffAjaxStyle(HttpServletRequest request, HttpServletResponse response) {
    //..do something w/ the inputs ...

    return "<valid>true</valid>";
}

是否有可能返回像这样的简单xml字符串,而不必定义一吨bean def?


问题答案:

是的。但是,不是通过从方法中返回String而是通过将其写入并将HttpServletResponse.getWriter()方法签名更改为return
void(这样,Spring将知道您将自己处理响应)。

要获取servlet响应编写器,只需java.io.Writer在方法中添加一个额外的type参数,Spring就会为您提供适当的引用。