今天做垂直策略接口时,遇到一个问题,就是输出xml时将某些数据放在CDATA区输出,在网上找了好多方法,都不是特别简便,于是翻墙在老外的一个博客上找到了我认为算是简单的方法,经过翻译和整理如下:
1、依赖的jar包,用maven管理项目的话,加入
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.moxy</artifactId>
<version>2.5.2-M1</version>
</dependency>
会增加以下4个jar包:
org.eclipse.persistence.moxy-2.5.2-M1.jar,org.eclipse.persistence.core-2.5.2-M1.jar,org.eclipse.persistence.asm-2.5.2-M1.jar,org.eclipse.persistence.antlr-2.5.2-M1.jar
不是用maven管理的话,自己手动加一下。
2、在需要与你的模型类中的以下项中添加jaxb.properties文件,内容为:
javax.xml.bind.context.factory=org.eclipse.persistence.jaxb.JAXBContextFactory
位置如图:
3、在模型类需要加入到CDATA区的属性上面加上@XmlCDATA注解,如图:
OK,以上几步就可以搞定这个JAXBContext处理CDATA的问题了,关于JAXBContext的用法我就不讲了,自己网上搜吧