zoukankan      html  css  js  c++  java
  • SpringMVC统一转换null值为空字符串的方法 !

     

    在SpringMVC中,可以通过在<mvc:annotation-driven>中配置<mvc:message-converters>,把null值统一转换为空字符串,解决这个问题。下面以JSon交互的方式为例说明如何实现:

    第一步:创建一个ObjectMapper

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    package com.xjj.anes.mvc.converter; 
       
    import java.io.IOException; 
       
    import com.fasterxml.jackson.core.JsonGenerator; 
    import com.fasterxml.jackson.core.JsonProcessingException; 
    import com.fasterxml.jackson.databind.JsonSerializer; 
    import com.fasterxml.jackson.databind.ObjectMapper; 
    import com.fasterxml.jackson.databind.SerializerProvider; 
       
    /**
     * @description: 转换null对象为空字符串
     */ 
    public class JsonObjectMapper extends ObjectMapper { 
        private static final long serialVersionUID = 1L; 
       
        public JsonObjectMapper() { 
            super(); 
            // 空值处理为空串 
            this.getSerializerProvider().setNullValueSerializer(new JsonSerializer<Object>() { 
                @Override 
                public void serialize(Object value, JsonGenerator jg, SerializerProvider sp) throws IOException, JsonProcessingException { 
                    jg.writeString(""); 
                
            }); 
        

      第二步:在SpringMVC配置文件中,把新建的ObjectMapper注入给MappingJackson2HttpMessageConverter

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <!-- 注册RequestMappingHandlerMapping 和RequestMappingHandlerAdapter 两个bean。--> 
    <mvc:annotation-driven> 
        <mvc:message-converters> 
            <bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"
                <property name="objectMapper"
                    <bean class="com.xjj.anes.mvc.converter.JsonObjectMapper"></bean> 
                </property> 
            </bean> 
        </mvc:message-converters> 
    </mvc:annotation-driven> 
  • 相关阅读:
    cf914D. Bash and a Tough Math Puzzle(线段树)
    RNQOJ [stupid]愚蠢的矿工(树形依赖背包)
    BZOJ4552: [Tjoi2016&Heoi2016]排序(线段树 二分)
    多项式系数学习笔记
    BZOJ4653: [Noi2016]区间(线段树 双指针)
    洛谷P3372 【模板】线段树 1(树状数组)
    BZOJ3261: 最大异或和(可持久化trie树)
    BZOJ4260: Codechef REBXOR (01Tire树)
    Android 关于显示键盘,布局错乱网上顶的问题
    Java 输入流读取文本文件换行符问题
  • 原文地址:https://www.cnblogs.com/erfsfj-dbc/p/9948550.html
Copyright © 2011-2022 走看看