您的当前位置:首页正文

SpringMVC使用Fastjson

来源:化拓教育网
     <!--废话不多说 先看配置-->    
     <mvc:annotation-driven>
              <mvc:message-converters register-defaults="false">
                     <bean class="com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter">
                            <property name="supportedMediaTypes">
                                   <list>
                                          <!-- 这里可以配置所有返回类型 -->
                                          <value>application/json;charset=utf-8</value>
                                          <value>text/json;charset=utf-8</value>
                                   </list>
                            </property>
                            <!--设置fastjson特性-->
                            <property name="features">
                                   <array>
                                          <!--
                                          QuoteFieldNames-输出key时是否使用双引号,默认为true
                                          WriteMapNullValue-是否输出值为null的字段,默认为false
                                          WriteNullNumberAsZero-数值字段如果为null,输出为0,而非null
                                          WriteNullListAsEmpty-List字段如果为null,输出为[],而非null
                                          WriteNullStringAsEmpty-字符类型字段如果为null,输出为"",而非null
                                          WriteNullBooleanAsFalse-Boolean字段如果为null,输出为false,而非null
                                          -->
                                          <!--设置使用文本方式输出日期,fastjson默认是long-->
                                          <value>WriteMapNullValue</value>
                                          <value>WriteDateUseDateFormat</value>
                                          <value>WriteNullBooleanAsFalse</value>
                                          <value>WriteNullStringAsEmpty</value>
                                          <value>WriteNullListAsEmpty</value>
                                   </array>
                            </property>
                     </bean>
              </mvc:message-converters>
       </mvc:annotation-driven>

需要注意的是 这个配置是放在spring的配置文件中,并不是放在springmvc的配置文件中的,明显的区别是springmvc文件是在web.xml中的org.springframework.web.servlet.DispatcherServlet中配置的,而spring的配置文件是在web.xml的context-param中配置的:

<!-- Spring MVC 的配置 -->
<servlet>
    <servlet-name>SpringMVC</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
      <param-name>contextConfigLocation</param-name>
      <param-value>classpath:spring-mvc.xml</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>SpringMVC</servlet-name>
    <url-pattern>/</url-pattern>
</servlet-mapping>

<!-- spring的配置 -->
<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>
      classpath*:spring-common.xml,classpath*:spring-dao.xml
    </param-value>
</context-param>