Spring MVC 返回 xml 数据的配置方法

摘要: 现在的应用程序流行采用返回 json 格式的数据,但如果时光倒流几年,恐怕返回比较多的是xml 格式的数据了,其实无论是json还是xml 说白了,都是文本文件,如果与java 程序结合,也就是序列化与反序列化的过程,采用不同的数据格式而已。有些老系通还是采用 XML 方式,所以有时候还是需要配置xml数据格式的. 这里就采用sprong 自带的包 spring-oxm.jar 里面提供的解析方法来处理

现在的应用程序流行采用返回 json 格式的数据,但如果时光倒流几年,恐怕返回比较多的是xml 格式的数据了,其实无论是json还是xml 说白了,都是文本文件,如果与java 程序结合,也就是序列化与反序列化的过程,采用不同的数据格式而已。有些老系通还是采用 XML 方式,所以有时候还是需要配置xml数据格式的. 这里就采用sprong 自带的包 spring-oxm.jar 里面提供的解析方法来处理。

当用户在浏览器地址栏输入.xml 后缀的时候返回xml 格式数据
当用户在浏览器地址输入.json 后缀的时候返回json 格式数据.



在spring-servlet.xml 里的配置如下:


        
    
    
       
     
	
		
			/WEB-INF/pages/
		
		
			.jsp
		
	
	
	
	
	
		
			
				
					
						com.training.model.User
					
				
			
		
	
	



注意实体类的定义,在 java6 之后自带了jaxb, 所以直接这样定义
package com.training.model;

import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;

@XmlRootElement(name="user")
public class User {
	
	private int id;
	private String name;
	private String address;
	
	public int getId() {
		return id;
	}
	@XmlElement
	public void setId(int id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	
	@XmlElement
	public void setName(String name) {
		this.name = name;
	}
	public String getAddress() {
		return address;
	}
	@XmlElement
	public void setAddress(String address) {
		this.address = address;
	}	

}



controller 里的方法
	@RequestMapping(value="/users", method = RequestMethod.GET)
	public @ResponseBody User getUsers() {	
		//模拟从数据库中获得数据....		
			User user = new User();
			user.setId(1);
			user.setName("Name: aaa");
			user.setAddress("Address: bbb");
			return user;			
 	}


运行程序,输入不同的url ,就能看到上面的图一样的效果。注意如果需要返回json格式数据,还需要jackson 相关的jar 包,可以参考这里: http://www.yihaomen.com/article/java/500.htm, 整个源代码,除去jar 包之后直接下载:
Spring mvc return xml and json formate data

上一篇: Spring MVC 与 MongoDB 结合的简单例子下载
下一篇: Spring MVC MongoDB 分页例子下载
 评论 ( What Do You Think )
名称
邮箱
网址
评论
验证
   
 

 


  • 微信公众号

  • 我的微信

站点声明:

1、一号门博客CMS,由Python, MySQL, Nginx, Wsgi 强力驱动

2、部分文章或者资源来源于互联网, 有时候很难判断是否侵权, 若有侵权, 请联系邮箱:summer@yihaomen.com, 同时欢迎大家注册用户,主动发布无版权争议的 文章/资源.

3、鄂ICP备14001754号-3, 鄂公网安备 42280202422812号