springmvc 返回xml数据

原创
2018/05/25 17:24
阅读数 216

直接上代码

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>

 

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部