- ConversionService:只有数据转换功能;
- ConversionServiceFactoryBean:与ConversionService对应;
- FormattingConversionService:具有数据转换和数据格式化功能;
- FormattingConversionServiceFactoryBean:与FormattingConversionService对应;可以注册自定义的转换器,又可以注册自定义的注解驱动器逻辑。
2. 具体实现
步骤1:配置FormattingConversionServiceFactoryBean
<mvc:annotation-driven conversion-service="conversionService"/>
<bean id="conversionService"
class="org.springframework.format.support.FormattingConversionServiceFactoryBean">
<property name="converters">
<list>
<!-- <bean class="com.ll.model.StringToPersonConverter" /> -->
</list>
</property>
</bean>
步骤2:使用@DateTimeFormat和@NumberFormat注解对象属性
步骤3:控制层
步骤4:前台请求
3. 简单介绍@DateTimeFormat与@NumberFormat
一、后台日期类型解析到前端
1.在springmvc的配置文件中添加这个.annotation-driven在配置文件中只配置一次 (此方法全局作用)
<mvc:annotation-driven>
<mvc:message-converters>
<bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
<property name="objectMapper">
<bean class="com.fasterxml.jackson.databind.ObjectMapper">
<property name="dateFormat">
<bean class="java.text.SimpleDateFormat">
<constructor-arg type="java.lang.String" value="yyyy-MM-dd HH:mm:ss"/>
</bean>
</property>
</bean>
</property>
</bean>
</mvc:message-converters>
</mvc:annotation-driven>
2.直接在字段上写上
@JsonFormat(pattern="yyyy-MM-dd",timezone="GMT-8")
private Date inputtime;
二、前端日期类型传到后台
1.在Controller类中添加这个方法 (此方法全局作用)
@InitBinder
public void initBinder(WebDataBinder binder){
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
sdf.setLenient(false);
binder.registerCustomEditor(Date.class, new CustomDateEditor(sdf, true));
}
2.直接在字段上添加
@DateTimeFormat(pattern="yyyy-MM-dd")
private Date beginDate;
第三种:https://blog.csdn.net/u012410733/article/details/72773095