如题,万分感谢
使用spring3.0以上版本
在web.xml中设置
XX
org.springframework.web.servlet.DispatcherServlet
1
<servlet-mapping>
<servlet-name>XX</servlet-name>
<url-pattern>*.html</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>XX</servlet-name>
<url-pattern>*.json</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>XX</servlet-name>
<url-pattern>*.xml</url-pattern>
</servlet-mapping>
在XX-servlet.xml中设置
[code="java"]response.setContentType("application/xml");[/code]
然后把xml内容写到response的outputStream里就可以了。
把对象转换成xml和spring mvc没啥关系吧,如果你这数据是从数据库里面来的可以考虑直接让数据库返回xml,sql server和oracle都有这样的语句
[b]Controller层[/b]
[code="java"] // Jaxb2RootElementHttpMessageConverter (requires JAXB2 on the classpath - useful for serving clients that expect to work with XML)
@RequestMapping(value="/xml", method=RequestMethod.POST)
public @ResponseBody String readXml(@RequestBody JavaBean bean) {
return "Read from XML " + bean;
}
@RequestMapping(value="/xml", method=RequestMethod.GET)
public @ResponseBody JavaBean writeXml() {
return new JavaBean();
}[/code]
[b]JSP [/b]
[code="java"]
$("#writeXml").click(function() {
var link = $(this);
$.ajax({ url: link.attr("href"),
beforeSend: function(req) {
req.setRequestHeader("Accept", "application/application+xml");
},
success: function(xml) {
MvcUtil.showSuccessResponse(MvcUtil.xmlencode(xml), link);
},
error: function(xhr) {
MvcUtil.showErrorResponse(xhr.responseText, link);
}
});
return false;
});
[/code]