SpringMVC 中的Controller返回JSON數據

SpringMVC中的Controller返回JSON問題html

 

①配置JSON解析器web

②使用註解@ResponseBody返回的是json,沒有使用該註解,則會進行頁面跳轉。redis

 

方案一spring

<!-- 自動掃描且只掃描@Controller -->
<context:component-scan base-package="com.it.mds,com.it.mds.ik.web" use-default-filters="false">
        <context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
        <context:include-filter type="annotation"
            expression="org.springframework.web.bind.annotation.ControllerAdvice"/>
</context:component-scan>

<!-- 使用annotation 自動註冊bean, 並保證@Required、@Autowired的屬性被注入 -->
<context:component-scan base-package="com.it.mds,org.iweb,com.it.mds.metadata.mybatis.service,com.it.mds.metadata.caches.redis,com.it.cloud,com.it.support.web">
		<context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
		<context:exclude-filter type="annotation" expression="org.springframework.web.bind.annotation.ControllerAdvice"/>
</context:component-scan>

<mvc:annotation-driven>
        <mvc:message-converters register-defaults="true">
            <!-- 將StringHttpMessageConverter的默認編碼設爲UTF-8 -->
            <bean class="org.springframework.http.converter.StringHttpMessageConverter">
                <constructor-arg value="UTF-8"/>
            </bean>
            <!-- 將Jackson2HttpMessageConverter的默認格式化輸出設爲true -->
            <bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
                <property name="prettyPrint" value="false"/>
            </bean>
        </mvc:message-converters>
        <mvc:argument-resolvers>
            <bean class="com.it.mds.iweb.datatable.handler.IWebHandlerMethodArgumentResolver"/>
            <bean class="com.it.mds.mvc.RequestArgumentResolver"/>
        </mvc:argument-resolvers>
    </mvc:annotation-driven>

 

方案二.express

一、導入第三方的jackson包,jackson-mapper-asl-xxx.jar和jackson-core-asl-xxx.jar。 
二、spring配置文件添加json

<mvc:annotation-driven/>

<!-- 避免IE執行AJAX時,返回JSON出現下載文件 -->  
    <bean id="mappingJacksonHttpMessageConverter" class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">  
        <property name="supportedMediaTypes">  
            <list>  
                <value>text/html;charset=UTF-8</value>  
            </list>  
        </property>  
    </bean>  

    <!-- 啓動Spring MVC的註解功能,完成請求和註解POJO的映射 -->  
    <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">  
        <property name="messageConverters">  
            <list>  
                <ref bean="mappingJacksonHttpMessageConverter" /><!-- json轉換器 -->  
            </list>  
        </property>  
    </bean>

 

方案三:mybatis

導入第三方的fastjson包,fastjson-1.1.34.jar 
二、Spring配置文件添加mvc

<mvc:annotation-driven>
        <mvc:message-converters register-defaults="true">
            <!-- 避免IE執行AJAX時,返回JSON出現下載文件 -->
            <bean id="fastJsonHttpMessageConverter" class="com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter">
                <property name="supportedMediaTypes">
                    <list>
                        <value>application/json;charset=UTF-8</value>
                    </list>
                </property>
            </bean>
        </mvc:message-converters>
    </mvc:annotation-driven>

 

方案四:app

1.須要導入 jackson-annotations-*.jar,jackson-core-.jar,jackson-databind-.jar 
二、在spring中添加配置ui

<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping" />
    <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
        <property name="messageConverters">
            <list>
                <bean class="org.springframework.http.converter.StringHttpMessageConverter">
                    <property name="supportedMediaTypes">
                        <list>
                            <value>text/html; charset=UTF-8</value>
                            <value>application/json;charset=UTF-8</value>
                        </list>
                    </property>
                </bean>
                <bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
                    <property name="supportedMediaTypes">
                        <list>
                            <value>text/html; charset=UTF-8</value>
                            <value>application/json;charset=UTF-8</value>
                        </list>
                    </property>
                </bean>
            </list>
        </property>
    </bean>

 

 

參考:

1.SpringMVC雜記(十七) HandlerMethodArgumentResolver接口應用example

2.spring入門(七)【springMVC返回json串】

3.mvc:argument-resolvers用法

4.<context:component-scan>使用說明

相關文章
相關標籤/搜索