SpringMVC收发带CDATA的xml报文
2015-10-10 17:26
441 查看
首先需要引入eclipselink包:
<span style="white-space:pre"> </span><dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>eclipselink</artifactId>
<version>2.5.0</version>
</dependency>实体类包下面需要添加jaxb.properties文件:
实体类使用如下注解:
<span style="white-space:pre"> </span><dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>eclipselink</artifactId>
<version>2.5.0</version>
</dependency>实体类包下面需要添加jaxb.properties文件:
javax.xml.bind.context.factory=org.eclipse.persistence.jaxb.JAXBContextFactory
实体类使用如下注解:
package com.chinamobile.cmss.ehub.ssb.test.entity; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlRootElement; import org.eclipse.persistence.oxm.annotations.XmlCDATA; @XmlRootElement(name="InterBOSS") @XmlAccessorType(XmlAccessType.FIELD) public class UserStateRqeMessage { @XmlCDATA private String SvcCont; public String getSvcCont() { return SvcCont; } public void setSvcCont(String svcCont) { SvcCont = svcCont; } /*private UserStateDetail SvcCont; public UserStateDetail getSvcCont() { return SvcCont; } public void setSvcCont(UserStateDetail svcCont) { SvcCont = svcCont; }*/ }controller接口使用@ResponseBody和@RequestBody
package com.chinamobile.cmss.ehub.ssb.test.controller; import javax.xml.bind.JAXBContext; import javax.xml.bind.JAXBException; import javax.xml.bind.Marshaller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.ResponseBody; import com.chinamobile.cmss.ehub.ssb.test.entity.UserStateRqeMessage; import com.chinamobile.cmss.ehub.ssb.test.entity.UserStateRspMessage; @Controller public class UserController { @ResponseBody @RequestMapping(value="/users", method=RequestMethod.POST) public UserStateRspMessage checkUserState(@RequestBody UserStateRqeMessage userStateRqeMessage) throws JAXBException{ System.out.println(userStateRqeMessage.getSvcCont()); JAXBContext jc = JAXBContext.newInstance(UserStateRspMessage.class); UserStateRspMessage userStateRspMessage = new UserStateRspMessage(); Marshaller marshaller = jc.createMarshaller(); marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true); marshaller.marshal(userStateRspMessage, System.out); return userStateRspMessage; } }
相关文章推荐
- 一个jar包里的网站
- 一个jar包里的网站之文件上传
- 一个jar包里的网站之返回对媒体类型
- XML 与 JSON 优劣对比
- As3.0 xml + Loader应用代码
- 把 CDATA 中的内容(有可能是不规范的Html代码)以Html方式展现出来。
- 网马生成器 MS Internet Explorer XML Parsing Buffer Overflow Exploit (vista) 0day
- ext读取两种结构的xml的代码
- C#针对xml基本操作及保存配置文件应用实例
- asp下查询xml的实现代码
- sqlserver FOR XML PATH 语句的应用
- 使用sp_xml_preparedocument处理XML文档的方法
- EBS xml publisher中文乱码问题及解决办法
- C#中的Linq to Xml详解
- C#操作XML文件实例汇总
- SQL Server中的XML数据进行insert、update、delete
- SQL Server中的XML数据进行insert、update、delete操作实现代码
- 关于SQLServer2005的学习笔记 XML的处理
- C#通过DataSet读写xml文件的方法