zoukankan      html  css  js  c++  java
  • SpringMVC的数据响应-回写数据:返回json格式字符串或对象

    不管是返回json格式字符串还是返回一个类型对象或集合,最终的呈现效果都是json格式


    返回json格式字符串

    步骤一:在pom.xml中导入依赖包

    <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-databind</artifactId>
                <version>2.9.4</version>
            </dependency>
            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-core</artifactId>
                <version>2.9.4</version>
            </dependency>
            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-annotations</artifactId>
                <version>2.9.4</version>
            </dependency>
    

    步骤二:java代码实现

    @RequestMapping("/six")
        @ResponseBody
        public String test6() throws JsonProcessingException {
    
            User user = new User();
            user.setName("liu");
            user.setAge(12);
    
            ObjectMapper objectMapper = new ObjectMapper();
            String re = objectMapper.writeValueAsString(user);
            return re;
        }
    

    返回对象或集合

    通过SpringMVC帮助我们对对象或集合进行json字符串的转换并回写,为处理器适配器配置消息转换参数,指定使用jackson进行对象或集合的转换,因此需要在spring-mvc.xml中进行如下配置:

    <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
            <property name="messageConverters">
                <list>
                    <bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"></bean>
                </list>
            </property>
        </bean>
    

    但是这样配置比较麻烦,配置的代码比较多,因此,我们也可以使用mvc的注解驱动代替上述配置,直接在spring-mvc.xml文件中添加下面代码就行了

    <mvc:annotation-driven></mvc:annotation-driven>

    记得得在头部的beans中添加

        xmlns:mvc="http://www.springframework.org/schema/mvc"
        http://www.springframework.org/schema/mvc
        http://www.springframework.org/schema/mvc/spring-mvc.xsd
    

    java代码实现

    @RequestMapping("/seven")
        @ResponseBody
        public User test7() {
            User user = new User();
            user.setName("haha");
            user.setAge(13);
            return user;
        }
    
  • 相关阅读:
    思考题13-1.b
    算法导论 第三版 9.3-8
    算法导论第三版思考题8-4
    算法导论第三版思考题8-3.b
    算法导论第三版思考题8-3.a
    算法导论第三版思考题8-2.e
    算法导论 第三版 思考题 7-4
    test
    一个朋友面试时遇到的算法题(怎么组合后得到最大整数)
    监听器模式、观察者模式
  • 原文地址:https://www.cnblogs.com/lyd447113735/p/14406216.html
Copyright © 2011-2022 走看看