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>使用说明

相关文章
相关标签/搜索