您的位置:首页 > 编程语言 > Java开发

springmvc 返回xml数据

2018-05-25 17:24 169 查看
直接上代码

public class BaseXmlResult {

protected String code;

protected String message;

public String getCode() {
return code;
}

public void setCode(String code) {
this.code = code;
}

public String getMessage() {
return message;
}

public void setMessage(String message) {
this.message = message;
}
}

@XmlRootElement(name = "xml")
@XmlAccessorType(XmlAccessType.NONE)
public class XmlActionResult<T> extends BaseXmlResult{

@XmlElements({
@XmlElement(name="Person",type = Person.class
})
private T data;

public String getCode() {
return code;
}

public void setCode(String code) {
this.code = code;
}

public String getMessage() {
return message;
}

public void setMessage(String message) {
this.message = message;
}

public T getData() {
return data;
}

public void setData(T data) {
this.data = data;
}

}

@XmlRootElement
@XmlAccessorType(XmlAccessType.NONE)
public class Person {

@XmlElement
private String name;
@XmlElement
private Integer sex;
@XmlElement
private Integer age;

private Date birthday;

public Person(String name, Integer sex, Integer age) {
this.name = name;
this.sex = sex;
this.age = age;
}

public Person() {
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public Integer getSex() {
return sex;
}

public void setSex(Integer sex) {
this.sex = sex;
}

public Integer getAge() {
return age;
}

public void setAge(Integer age) {
this.age = age;
}

public Date getBirthday() {
return birthday;
}

public void setBirthday(Date birthday) {
this.birthday = birthday;
}
}

@Controller
@RequestMapping("/xml")
public class HelloController {

@RequestMapping("/helloXmlPerson/{name}")
@ResponseBody
public XmlActionResult helloXmlPerson(@PathVariable("name") String name){
XmlActionResult<Person> actionResult = new XmlActionResult<Person>();
actionResult.setCode("123");
actionResult.setMessage(name);
Person person = new Person("zhanngsan",1,32);
actionResult.setData(person);
return actionResult;
}
}

spring配置文件中新增,用于启用@ResponseBody注解。

<mvc:annotation-driven/>

访问对应得路径后返回xml数据:

<xml>

<code>123</code>

<message>nihao</message>

<Person>

<name>zhangsan</name>

<sex>1</sex>

<age>32</age>

</Person>

</xml>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Spring XMLBeans java