1. 程式人生 > >SpringMVC統一轉換null值為空字串的方法 !

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> 

在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>