1、在springmvc.xml中加上

 1 <!-- 多视图的支持 -->
 2         <bean class="org.springframework.web.servlet.view.ContentNegotiatingViewResolver">
 3             <property name="contentNegotiationManager">
 4                 <bean class="org.springframework.web.accept.ContentNegotiationManagerFactoryBean"/>
 5             </property>
 6             <property name="mediaTypes">
 7                 <map>
 8                     <entry key="json" value="application/json"/>
 9                     <entry key="xml" value="application/xml"/>
10                 </map>
11             </property>
12             <property name="defaultViews">
13                 <list>
14                     <bean class="org.springframework.web.servlet.view.json.MappingJacksonJsonView"/>
15                     <bean class="org.springframework.web.servlet.view.xml.MarshallingView">
16                         <constructor-arg>
17                             <bean class="org.springframework.oxm.jaxb.Jaxb2Marshaller">
18                                 <property name="classesToBeBound">
19                                     <list>
20                                         <value>com.xiaostudy.domain.User</value>
21                                     </list>
22                                 </property>
23                             </bean>
24                         </constructor-arg>
25                     </bean>
26                 </list>
27             </property>
28         </bean>

2、在支持多视图的类中加上注释@XmlRootElement

 1 package com.xiaostudy.domain;
 2 
 3 import javax.xml.bind.annotation.XmlRootElement;
 4 
 5 @XmlRootElement
 6 public class User {
 7 
 8     private int id;
 9     private String username;
10     private String password;
11     private int age;
12 
13     public int getId() {
14         return id;
15     }
16 
17     public void setId(int id) {
18         this.id = id;
19     }
20 
21     public String getUsername() {
22         return username;
23     }
24 
25     public void setUsername(String username) {
26         this.username = username;
27     }
28 
29     public String getPassword() {
30         return password;
31     }
32 
33     public void setPassword(String password) {
34         this.password = password;
35     }
36 
37     public int getAge() {
38         return age;
39     }
40 
41     public void setAge(int age) {
42         this.age = age;
43     }
44 
45     @Override
46     public String toString() {
47         return "User [id=" + id + ", username=" + username + ", password=" + password + ", age=" + age + "]";
48     }
49 
50 }

3、使用

 1 package com.xiaostudy.controller;
 2 
 3 import org.springframework.stereotype.Controller;
 4 import org.springframework.web.bind.annotation.RequestMapping;
 5 
 6 import com.xiaostudy.domain.User;
 7 
 8 @Controller//<bean class="com.xiaostudy.controller.MyController"/>
 9 @RequestMapping(value="/myController")//访问该类的方法时,前面多这样一个路径
10 public class MyController {
11     
12     @RequestMapping("multiView")
13     public User multiView() {
14         User user = new User();
15         user.setId(2018);
16         user.setUsername("xiaostudy");
17         user.setPassword("123456");
18         user.setAge(23);
19         return user;
20     }
21 
22 }

4、访问