SpringMVC統一轉換null值為空字串的方法 !
阿新 • • 發佈:2018-11-12
在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>
|