加入json格式化的依赖
这些依赖是springmvc内置的,若使用如alibaba的fasjson,则配置会稍有区别
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.8.2</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.8.2</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.8.2</version>
</dependency>
配置转换器
applicationContext.xml中
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
<property name="cacheSeconds" value="0"/>
<property name="messageConverters">
<list>
<ref bean="mappingJacksonHttpMessageConverter"/>
<!-- 此配置必须在annotation之前,否则不起效
;<mvc:annotation-driven /> 会自动注册DefaultAnnotationHandlerMapping 与AnnotationMethodHandlerAdapter。
-->
<ref bean="mappingStringHttpMessageConverter"/>
</list>
</property>
<!-- 非必须 -->
<property name="webBindingInitializer" ref="webBindingInitializer"/>
</bean>
<!-- 处理乱码,因为默认不是utf-8编码 -->
<bean id="mappingJacksonHttpMessageConverter" class="org.springframework.http.converter.StringHttpMessageConverter">
<property name="supportedMediaTypes">
<list>
<value>text/plain;charset=UTF-8</value>
<value>application/json;charset=UTF-8</value>
</list>
</property>
</bean>
<!-- 转换为json格式 -->
<bean id="mappingStringHttpMessageConverter" class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
<property name="supportedMediaTypes">
<list>
<bean class="org.springframework.http.MediaType">
<constructor-arg index="0" value="application"/>
<constructor-arg index="1" value="json"/>
<constructor-arg index="2" value="UTF-8"/>
</bean>
</list>
</property>
</bean>
使用
在需要返回json格式的controller上加上
@ResponseBody
即可
这样会把输入直接写入response里,
而不会经过视图处理器