admin管理员组文章数量:1794759
Spring MVC Controller 返回XML数据
项目框架使用的是Spring MVC框架,在Controller中返回的数据格式一直用的是Json,但是最近项目需求需要返回XML格式的数据,于是借助万能的互联网,找到了一些方法,一下方法为我经验总结。
##项目环境
- Spring 4.0.5.RELEASE
- JDK 1.7
- Eclipse
- Maven ##pom.xml添加依赖库
##创建实体类JavaBean 在com.mybatis.model中创建一个简单的实体类,Coffee.java,添加JAXB注解(@XmlRootElement,@XmlElement),它会自动转换成XML,JAXB已经包含在JDK1.6中了,不需要额外添加依赖库,只需要使用注解,Spring会自动转换成XML
package com.mybatis.model; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; @XmlRootElement(name = "coffee") public class Coffee { String name; int quanlity; public String getName() { return name; } @XmlElement public void setName(String name) { this.name = name; } public int getQuanlity() { return quanlity; } @XmlElement public void setQuanlity(int quanlity) { this.quanlity = quanlity; } public Coffee(String name, int quanlity) { this.name = name; this.quanlity = quanlity; } public Coffee(){ } }JAXB Annotation说明: @XmlType,将Java类或枚举类型映射到XML模式类型 @XmlAccessorType(XmlAccessType.FIELD) ,控制字段或属性的序列化。FIELD表示JAXB将自动绑定Java类中的每个非静态的(static)、非瞬态的(由@XmlTransient标注)字段到XML。其他值还有XmlAccessType.PROPERTY和XmlAccessType.NONE。 @XmlAccessorOrder,控制JAXB 绑定类中属性和字段的排序。 @XmlJavaTypeAdapter,使用定制的适配器(即扩展抽象类XmlAdapter并覆盖marshal()和unmarshal()方法),以序列化Java类为XML。 @XmlElementWrapper ,对于数组或集合(即包含多个元素的成员变量),生成一个包装该数组或集合的XML元素(称为包装器)。 @XmlRootElement,将Java类或枚举类型映射到XML元素。 @XmlElement,将Java类的一个属性映射到与属性同名的一个XML元素。 @XmlAttribute,将Java类的一个属性映射到与属性同名的一个XML属性。
##创建Controller类 在com.controller中创建一个Controller类,XMlController.java
package com.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import com.mybatis.model.Coffee; @Controller @RequestMapping("/coffee") public class Xmlcontroller { @RequestMapping("/xml") public @ResponseBody Coffee getCoffeeinXML(@RequestParam String name){ Coffee coffee = new Coffee(name,100); return coffee; } }##测试连接 localhost:8080/CMP/coffee/xml.do?name=zhang
##其他方法说明
- 在spring的配置中启用mvc:annotation-driven注解
- 添加spring-oxm.jar依赖,并用以下的MarshallingView处理转换,使用这种方法,你可以不用在方法中使用@ResponseBody注解
项目推荐
DC3是基于Spring Cloud的开源可分布式物联网(IOT)平台,用于快速开发、部署物联设备接入项目,是一整套物联系统解决方案。
本文标签: 数据MVCspringxmlcontroller
版权声明:本文标题:Spring MVC Controller 返回XML数据 内容由林淑君副主任自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.xiehuijuan.com/baike/1686616775a86661.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论