解决从数据库获取类型为Date日期的字段显示到前台的时候出现报400
2018-12-24 12:03
302 查看
如果从数据库获取类型为Date日期的字段显示到前台的时候出现报400的问题就可以看看了
一、使用注解方式解决前端日期在后台转换报错的问题。
1、新建日期转化类
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.format.datetime.DateFormatter; import org.springframework.format.datetime.DateFormatterRegistrar; import org.springframework.format.number.NumberFormatAnnotationFormatterFactory; import org.springframework.format.support.DefaultFormattingConversionService; import org.springframework.format.support.FormattingConversionService; @Configuration public class AppConfig { @Bean public FormattingConversionService conversionService() { // Use the DefaultFormattingConversionService but do not register defaults DefaultFormattingConversionService conversionService = new DefaultFormattingConversionService(false); // Ensure @NumberFormat is still supported conversionService.addFormatterForFieldAnnotation(new NumberFormatAnnotationFormatterFactory()); // Register date conversion with a specific global format DateFormatterRegistrar registrar = new DateFormatterRegistrar(); registrar.setFormatter(new DateFormatter("yyyy-MM-dd")); registrar.registerFormatters(conversionService); return conversionService; } }
2、springmvc.xml中配置mvc注解驱动中增加如下内容
<mvc:annotation-driven conversion-service="conversionService"/>
二、使用xml方式解决前端日期在后台转换报错的问题。
1、创建日期转换类
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.springframework.core.convert.converter.Converter;
/**
- 日期格式转化
- @author shy
*/
public class DateConvert implements Converter<String,Date>{ private String datePatten; public void setDatePatten(String datePatten) { this.datePatten = datePatten; } @Override public Date convert(String date) { if(date==null) { return null; } SimpleDateFormat sdf = new SimpleDateFormat(this.datePatten); try { Date d = sdf.parse(date); return d; } catch (ParseException e) { e.printStackTrace(); } return null; } }
2、springmvc.xml中配置mvc注解驱动中增加如下内容
<mvc:annotation-driven conversion-service="conversionService"/>
3、springmvc.xml中增加如下bean
<bean id="conversionService" class="org.springframework.format.support.FormattingConversionServiceFactoryBean"> <property name="converters"> <list> <bean class="com.hp.util.DateConvert"> <property name="datePatten" value="yyyy-MM-dd"></property> </bean> </list> </property>
亲测这两种方式都可以解决日期转换报错的问题
相关文章推荐
- struts2的实体类映射成数据库表格时,实体类的某个属性类型设为date,但是映射结果在数据库中是datetime类型的,这个时候我们应该采用的解决办法
- 关于Oracle字段类型Date使用mybatis generator自动生成工具出现的查询日期只精确到年月日问题
- 解决easyui 中显示Date类型数据为[object Object],json中格式化日期
- 关于springmvc怎么自动把前台string类型日期字段转换成date类型
- java 数据库查询Date类型字段 没有了时分秒 全为 00 的解决办法
- oracle10g获取Date类型字段无时分秒解决办法!
- java 数据库查询Date类型字段 没有了时分秒 全为 00 的解决办法
- 向ACCESS中的"时间/日期"字段中插入DateTime.Now时出现“标准表达式中数据类型不匹配。”错误的解决办法
- java程序中获取数据库date字段时的日期格式问题
- <问题解决>数据库date类型数据前端页面显示格式不正确问题
- js,jsp里将数据库Date类型获取出来后格式化显示于界面
- java 数据库查询Date类型字段 没有了时分秒 全为 00 的解决办法
- oracle10g获取Date类型字段无时分秒解决办法!
- html显示数据库中的字段内容为sql语句时,出现隐藏了换行等字符的问题解决
- java与json互相转换(解决日期问题),js显示json数据时出现日期类型显示[object,object]现象解决!
- 解决SpringMvc前台传Date类型到后台报400错误问题
- 按照自己定义的时间,在Java用SimpleDateFormat定义的日期类型转换为数据库中Date字段类型的日期
- 解决mysql 数据库中日期类型00:00:00 的问题 设置xml数据类型:java.util.Date
- 当数据库的字段为date类型时候
- angularJS之ngModel绑定日期类型出现错误Angular error:datefmt的解决办法