zoukankan      html  css  js  c++  java
  • Spring5.0.x SSM项目中Json转换器 的配置 CodeFish

      json作为前后端交互的重要手段,在springMVC中有自带的转换器可以免去平时那些繁琐的事情:

      

    pom文件添加:spring5.0以上用Jackson2.9以上的版本

     <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-annotations</artifactId>
        <version>2.9.4</version>
      </dependency>
    
      <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-core</artifactId>
      <version>2.9.4</version>
      </dependency>
    Controller层样例:
    @Controller
    public class JsonController {
    
    
        @RequestMapping(value = "jsontest")
        @ResponseBody
        public User ajaxtest(){
            User user=new User();
            user.setUser_name("张三");
            user.setPwd("123");
           return user;
        }
    }

      jsp代码样例:

    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
    <%
    String path = request.getContextPath();
    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
    %>
    
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        <base href="<%=basePath%>">
    
        <title>My JSP 'ajax.jsp' starting page</title>
    
        <!--
        <link rel="stylesheet" type="text/css" href="styles.css">
        -->
          <script src="<%=basePath%>/static/js/jquery.js"></script>
          <script type="text/javascript">
             function mytest(op){
                 $.getJSON("jsontest",{key:op},function(data){
                     alert(data.user_name);
                 });
             }
          </script>
     
      </head>
      
      <body>
      <input type="button" onclick="mytest('asdasd')" value="获取AJAX">
      </body>
    </html>

      接下来在Spring mvc 配置文件加入控制器的内容:

    <!-- 设置json转换器 -->
        <bean id="jsonConverter" class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
        </bean>
        <!-- 设置string转换器 -->
        <bean id="stringConverter"
              class="org.springframework.http.converter.StringHttpMessageConverter">
            <property name="writeAcceptCharset" value="false" />
    
            <property name="supportedMediaTypes">
                <list>
                    <value>text/html;charset=UTF-8</value>
                </list>
            </property>
        </bean>
        <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
            <property name="messageConverters">
                <list>
                    <ref bean="stringConverter" />
                    <ref bean="jsonConverter" />
                </list>
            </property>
        </bean>

    这样就可以直接完成对象,或者其他内容转换成json的格式。

    成为更好的自己
  • 相关阅读:
    spring boot cli 知识点
    OSX Homebrew 安装 Spring Boot CLI
    前端重定向,index.html文件被浏览器缓存,导致整个应用都是旧的
    单页面应用,接入cdn
    Spring Cloud 之 Hystrix 知识点:隔离、熔断、降级
    Spring Cloud 之 Ribbon 知识点:服务器负载均衡
    Spring Cloud 之 Feign 知识点:封装了 REST 调用
    spring cloud 学习资料
    Gradle 知识点
    Gradle 学习资料
  • 原文地址:https://www.cnblogs.com/Xjx-zhenCai/p/11346487.html
Copyright © 2011-2022 走看看