1.问题 : 因为业务需要,需要发送xml格式的数据,使用spring mvc 自己解析,就不用费心去自己搞这些东西.

2.解决:

新建一个实体类,直接在实体类中添加注解即可,如下:

  1. @XmlRootElement
  2. @XmlAccessorType(XmlAccessType.FIELD)
  3. public class XMlTestBean {
  4. @XmlElement
  5. @XmlCDATA
  6. private String username;
  7. @XmlElement
  8. private String password;
  9. @XmlElement
  10. private String name;
  11.  
  12. public String getUsername() {
  13. return username;
  14. }
  15. public void setUsername(String username) {
  16. this.username = username;
  17. }
  18. public String getPassword() {
  19. return password;
  20. }
  21. public void setPassword(String password) {
  22. this.password = password;
  23. }
  24. public String getName() {
  25. return name;
  26. }
  27. public void setName(String name) {
  28. this.name = name;
  29. }
  30. @Override
  31. public String toString() {
  32. return "XMlTestBean [username=" + username + ", password=" + password + ", name=" + name + "]";
  33. }
  34.  
  35. }

类上方添加:

@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)

字段名添加:

@XmlElement

在controller类中返回即可:

  1. @Controller
  2. @RequestMapping("test")
  3. public class TestController {
  4.  
  5. @RequestMapping("xml")
  6. @ResponseBody
  7. public XMlTestBean getTestXML(){
  8. XMlTestBean xml = new XMlTestBean();
  9. xml.setUsername("aa");
  10. xml.setPassword("bb");
  11. xml.setName("cc");
  12. return xml;
  13. }
  14. @RequestMapping("getXml")
  15. public void getXml(@RequestBody XMlTestBean xml){
  16. System.out.println(xml);
  17. }
  18.  
  19. }

结果:

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <xMlTestBean>
  3. <username>
  4. <![CDATA[aa]]>
  5. </username>
  6. <password>bb</password>
  7. <name>cc</name>
  8. </xMlTestBean>

补充:@XmlCDATA注解的作用:可以让返回值中添加

  1. <![CDATA[]]>

CDATA 区段,可以不被XML解析器解析,但是需要在pom.xml添加

  1. <dependency>
  2. <groupId>org.eclipse.persistence</groupId>
  3. <artifactId>eclipselink</artifactId>
  4. <version>2.5.0</version>
  5. </dependency>

和在实体类的包下添加jaxb.properties文件,文件内容如下:

  1. javax.xml.bind.context.factory=org.eclipse.persistence.jaxb.JAXBContextFactory

只是解决了问题,但是原理这些还不懂,Σ( ° △ °|||)︴,有机会再搞懂原理吧

spring mvc 返回xml格式数据的更多相关文章

  1. Spring MVC 返回 xml json pdf 数据的配置方法

    <!-- Spring MVC 返回 xml 数据的配置方法 -->     <bean class="org.springframework.web.servlet.vi ...

  2. Asp.net mvc返回Xml结果,扩展Controller实现XmlResult以返回XML格式数据

    我们都知道Asp.net MVC自带的Action可以有多种类型,比如ActionResult,ContentResult,JsonResult……,但是很遗憾没有支持直接返回XML的XmlResul ...

  3. spring mvc返回json字符串数据,只需要返回一个java bean对象就行,只要这个java bean 对象实现了序列化serializeable

    1.spring mvc返回json数据,只需要返回一个java bean对象就行,只要这个java bean 对象实现了序列化serializeable 2. @RequestMapping(val ...

  4. spring mvc实现Restful返回xml格式数据

    最近,想在自己的小项目中搭建一个Restful风格的服务接口api,项目用的spring mvc 3,听说spring mvc本身就能十分方便的支持restful的实现,于是查询了下资料,果然非常强大 ...

  5. Spring mvc 返回json格式 - 龙企阁 - 博客频道 - CSDN.NET

    第一次使用spring mvc ,在此也算是记录一下以防忘记,希望有经验的朋友指出不足的地方 一.使用maven管理jar. <dependency> <groupId>org ...

  6. spring mvc返回json格式和json字符串

    首先有必要说一下,json和json字符串是不一样的,后者是一个字符串.而json是一个对象 当然如果调用位置是后台程序这几乎没有区别,因为在后台,无论什么格式数据,都是从响应流中读取字符串. 但是在 ...

  7. Spring MVC返回Map格式JSON数据

    问题描述: ajax中走error : function(e) {} 问题背景: 在测试controller层时,试过了ResponseEntity<ResponseModel>这种类型返 ...

  8. Spring MVC返回json格式

    在使用SpringMVC框架直接返回json数据给client时,不同的版本号有差异. 以下介绍两种类型的版本号怎样配置. 注意:这两种方法均已验证通过. 1.Spring3.1.x版本号 1.1 d ...

  9. Spring Boot 返回 XML 数据,一分钟搞定!

    Spring Boot 返回 XML 数据,前提必须已经搭建了 Spring Boot 项目,所以这一块代码就不贴了,可以点击查看之前分享的 Spring Boot 返回 JSON 数据,一分钟搞定! ...

随机推荐

  1. D - Going Home POJ - 2195 网络流

    On a grid map there are n little men and n houses. In each unit time, every little man can move one ...

  2. 【luogu P3369 普通平衡树(Treap/SBT)】 模板 Splay

    题目链接:https://www.luogu.org/problemnew/show/P3369 #include <cstdio> #include <algorithm> ...

  3. 学大伟业 Day 1 培训总结

    第一天培训,讲的基本算法,东西很多.还有些数论,图论,数据结构and some small tricks 一.输入输出技巧 //输入输出技巧 /* scanf.printf:速度快,需要记忆不同数据类 ...

  4. Android学习笔记_17_Intent匹配规则(隐式意图)

    Android基本的设计理念是鼓励减少组件间的耦合,因此Android提供了Intent (意图) ,Intent提供了一种通用的消息系统,它允许在你的应用程序与其它的应用程序间传递Intent来执行 ...

  5. LINQ to XML简介

    我们的配置文件使用XML存储信息.ADO.NET的DataSet(利用扩展方法)可以方便的将数据保存(或加载)为XML..NET特有的XML API,如XmlReader/XmlWriter类.微端提 ...

  6. java容易混淆的的内部类相关概念

    关于内部类: 作用: 1. 内部类提供了更好的封装,可以把内部类隐藏在外部类之内,不允许同一个包中的其他类访问该类 2. 内部类的方法可以直接访问外部类的所有数据,包括私有的数据 3. 内部类所实现的 ...

  7. react setState修改嵌套对象

    在react使用setState过程中,难免会遇到复杂的数据类型,,这里还要提醒一下setState 是异步操作行为,需要setState之后的结果做为参数,请求数据的话,可以配合 async  aw ...

  8. 代替eval执行字符串表达式

    function eval2(str) { var Fn = Function; return new Fn('return ' + str)(); }

  9. 菜鸟崛起 DB Chapter 4 MySQL 5.6的数据库引擎

    数据库存储引擎是数据库底层的软件组件,我们平常看不到,但是却与我们操作数据库息息相关.DBMS使用数据引擎进行创建.查询.更新和删除数据操作.不同的存储引擎提供不同的存储机制.索引技巧.锁定水平等功能 ...

  10. IP检验字段为啥只检验地址部分

    在首部中的错误比在数据中的错误更重 如:一个错误的地址可能导致分组被投递到错误的主机.许多主机并不检查投递给它们的分组是否 确定是要投递给它们,它们假定网络从来不会把别人的分组包传递给自己.数据不参加 ...