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;
        }
    
  • 相关阅读:
    WPF的布局--DockPanel
    WPF的布局--StackPanel
    C#中的不可空类型转为可空类型
    linux下安装nodejs及npm
    HTML DOM 事件对象 ondragend 事件
    pc端页面在移动端显示问题
    css设置文字上下居中,一行文字居中,两行或多行文字同样居中。
    超简单的gif图制作工具
    Git创建与合并分支
    props default 数组/对象的默认值应当由一个工厂函数返回
  • 原文地址:https://www.cnblogs.com/lyd447113735/p/14406216.html
Copyright © 2011-2022 走看看