Spring MVC返回XML格式的数据
来源:互联网 发布:淘宝刷收藏怎么算的 编辑:程序博客网 时间:2024/05/14 11:14
代码:
readxml.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>测试返回XML格式的数据</title><script type="text/javascript" src="js/jquery-1.11.0.min.js"></script><script type="text/javascript" src="js/json2.js"></script><script type="text/javascript">$(document).ready(function(){readxml();});function readxml(){$.ajax("${pageContext.request.contextPath}/readxml",// 发送请求的URL字符串。{dataType : "text", // 预期服务器返回的数据类型。 type : "POST", // 请求方式 POST或GET async: true , // 默认设置下,所有请求均为异步请求。如果设置为false,则发送同步请求 // 请求成功后的回调函数。 success :function(xml){ // 获得xml数据的id,name,author var id = $("id", xml).text(); var name = $("name", xml).text(); var author = $("author", xml).text(); var tr = $("<tr align='center'/>"); $("<td/>").html(id).appendTo(tr); $("<td/>").html(name).appendTo(tr); $("<td/>").html(author).appendTo(tr); $("#booktable").append(tr); }, // 请求出错时调用的函数 error:function(){ alert("数据接收失败"); }});}</script></head><body><table id="booktable" border="1" style="border-collapse: collapse;"><tr align="center"> <th>编号</th> <th>书名</th> <th>作者</th></tr></table></body></html>
book.xml
<?xml version="1.0" encoding="UTF-8"?><book><id>1</id><name>Spring MVC企业应用实战</name><author>海哥</author></book>
Book.java
package com.bean;import java.io.Serializable;import javax.xml.bind.annotation.XmlElement;import javax.xml.bind.annotation.XmlRootElement;// @XmlRootElement表示XML文档的根元素@XmlRootElementpublic class Book implements Serializable {private Integer id;private String name;private String author;public Book() {super();// TODO Auto-generated constructor stub}public Book(Integer id, String name, String author) {super();this.id = id;this.name = name;this.author = author;}public Integer getId() {return id;}// 该属性作为xml的element@XmlElementpublic void setId(Integer id) {this.id = id;}public String getName() {return name;}@XmlElementpublic void setName(String name) {this.name = name;}public String getAuthor() {return author;}@XmlElementpublic void setAuthor(String author) {this.author = author;}@Overridepublic String toString() {return "Book [id=" + id + ", name=" + name + ", author=" + author + "]";}}
BookController.java
package com.control;import java.io.InputStream;import javax.xml.bind.JAXBContext;import javax.xml.bind.Unmarshaller;import org.apache.commons.logging.Log;import org.apache.commons.logging.LogFactory;import com.bean.*;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;@Controllerpublic class BookController {private static final Log logger = LogFactory.getLog(BookController.class); // @RequestBody Book book会将传递的xml数据自动绑定到Book对象 @RequestMapping(value="/sendxml", method=RequestMethod.POST) public void sendxml(@RequestBody Book book) { logger.info(book); logger.info("接收XML数据成功"); } // @ResponseBody 会将Book自动转成XML数据返回 @RequestMapping(value="/readxml", method=RequestMethod.POST) public @ResponseBody Book readXml()throws Exception { // 通过JAXBContext的newInstance方法,传递一个class就可以获得一个上下文 JAXBContext context = JAXBContext.newInstance(Book.class); // 创建一个Unmarshall对象 Unmarshaller unmar = context.createUnmarshaller(); InputStream is = this.getClass().getResourceAsStream("/book.xml"); // Unmarshall对象的unmarshal方法可以进行xml到Java对象的转换 Book book = (Book) unmar.unmarshal(is); logger.info(book); return book; } }
截图:
0 0
- Spring MVC返回XML格式的数据
- Spring MVC返回XML格式的数据
- Spring MVC Controller 实现返回XML格式的数据
- Spring MVC返回JSON格式的数据
- Spring MVC返回JSON格式的数据
- spring mvc实现Restful返回xml格式数据
- spring mvc实现Restful返回xml格式数据
- spring mvc实现Restful返回xml格式数据
- spring mvc实现Restful返回xml格式数据
- spring mvc实现Restful返回xml格式数据
- Spring MVC接受XML格式的数据
- Spring MVC接受XML格式的数据
- spring mvc 在同一个controller 中同时返回多种格式的数据 (xml json atom)
- 使用spring MVC返回json格式的数据
- spring mvc 返回json格式数据的方式
- spring mvc 对返回json格式数据的支持
- Spring-MVC-配置接收和返回数据的格式
- 封装Spring MVC 返回JSON 格式数据
- vi 快捷键
- android 自定义进度条
- Cadence Allegro学习之层叠设置+约束规则管理器+线宽规则设置+线距规则设置
- 接口中可以有实现代码吗?
- 会场安排问题之贪心算法
- Spring MVC返回XML格式的数据
- viewPager+fragment实现分页切换,跳转至别的页面改变数据,fragment没有改变
- json解析开源代码【C++】
- Gulp,grunt,seajs/require和browserify/webpack的区别?
- Ubuntu14.04编译WebRTC For Android代码 2014-07-24
- 学习设计模式-装饰模式
- http请求中的header
- MySQL key_len显示长度问题
- SVG