2013-07-16 3 views
0

У меня есть этот метод:Как вернуть файл XML с помощью Spring MVC?

@RequestMapping(value = DetailedMetaDataController.RESOURCE_PATH + ".xml", headers = "Accept=application/json") 
public void exportXml(@RequestBody JSONObject json) throws IOException 
{ 
    String responseString = JacksonUtils.toXmlAsString(); 
} 

responseString является Строка XML. Запрос AJAX - это сообщение, потому что я отправляю большой объем данных, но AJAX всегда возвращает ошибку.

Мне нужно простое Окно, с помощью которого можно сохранить строку в виде XML-файла.

+1

Вы не можете отправить сообщение об ошибке, код статуса? –

ответ

2

Аннотируйте с @Produces(MediaType.APPLICATION_XML) и убедитесь, что ваш запрос использует application/xml как часть заголовка Accept.

+0

Я не думаю, что это JAX-RS. –

+0

JAX-RS является частью ядра JRE6, а Jackson предназначен для использования с JAX-RS, поэтому я предположил (возможно, неправильно), что это проект jax-rs. – PaulProgrammer

+0

С '@ RequestMapping', это проект Spring MVC, который также использует jackson. OP может захотеть использовать JSX-RS. –

1

Вы можете обернуть данные в бобе с аннотацией @javax.xml.bind.annotation.XmlRootElement, поле с @javax.xml.bind.annotation.XmlElement и изменение подписи метода с public void к public @org.springframework.web.bind.annotation.ResponseBody BeanClassName, возвращая соответствующий BeanClassName экземпляр. Также запомните около <mvc:annotation-driven /> в конфигурационном файле Spring XML.

Для получения дополнительной информации см. this.

Смежные вопросы