springMVC ResponseBody

来源:互联网 发布:formtalk数据 编辑:程序博客网 时间:2024/05/16 08:35

项目需要返回json字符串,我考虑使用@ResponseBody
导入jackson相关jar包
配置json转换器

<mvc:annotation-driven>        <mvc:message-converters>            <bean class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"/>            <bean class="org.springframework.http.converter.StringHttpMessageConverter"/>            <bean class="org.springframework.http.converter.ResourceHttpMessageConverter"/>        </mvc:message-converters>    </mvc:annotation-driven>

避免IE执行AJAX时,返回JSON出现下载文件

<bean id="mappingJacksonHttpMessageConverter"          class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter">          <property name="supportedMediaTypes">              <list>                  <value>application/json;charset=UTF-8</value>             </list>          </property>    </bean>  

启动SpringMVC的注解功能,完成请求和注解POJO的映射

    <bean          class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">          <property name="messageConverters">              <list>                  <ref bean="mappingJacksonHttpMessageConverter" /> <!-- JSON转换器 -->              </list>          </property>      </bean>

这样在控制器返回对象方法加上@ResponseBody注解返回的就是json对象
但是发现对象中为null的字段json中也会返回
在对象上加上注解

@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL)

完美解决

0 0
原创粉丝点击