Как вернуть простую строку XML из сообщения формы в Spring MVC - PullRequest
2 голосов
/ 28 июля 2011

У меня есть простое действие http POST в Spring MVC, и мне не нужно возвращать полную веб-страницу.Вместо этого мне просто нужно вернуть строку XML (например)

true

Но когда я выполняю действие, указанное ниже, мой клиент получает 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 defs?

Ответы [ 2 ]

5 голосов
/ 28 июля 2011

Я полагаю, что вы можете сделать это, пометив тип возвращаемого вами метода аннотацией @ResponseBody следующим образом:

@RequestMapping(value = "/updateStuffAjaxStyle.do", method = RequestMethod.POST)
public @ResponseBody String updateStuffAjaxStyle(HttpServletRequest request,
        HttpServletResponse response) {
    //..do something w/ the inputs ...
    return "<valid>true</valid>";
}
3 голосов
/ 28 июля 2011

Да, это так.Но не возвращая строку из вашего метода, а записав ее в HttpServletResponse.getWriter() и изменив сигнатуру метода так, чтобы она возвращала void (таким образом, Spring будет знать, что вы обработаете ответ самостоятельно).

Чтобы получить обработчик ответов сервлета, просто добавьте один дополнительный аргумент типа java.io.Writer к своему методу, и Spring предоставит вам правильную ссылку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...