springmvc实体类类型转换

来源:互联网 发布:js history 清除 编辑:程序博客网 时间:2024/05/21 12:39

最近在学hibernate,发现了其相较jdbc之强大之便捷,但在操作实体类的时候发现一些日期转换的问题,页面上传来的yyyy-MM-dd HH:mm的日期类型不能被实体类中类型为Date的属性识别而导致页面报400错误。

后来查阅了一些资料,知道了有一个springmvc中的类型转换接口Converter,就Override了一个日期转换类,主要针对正在做的表单。

public class DateConverter implements Converter<String, Date> {    /**     * date format 格式     */    @Override    public Date convert(String s) {        if (s.matches("^[0-9]{4}-[0-9]{2}-[0-9]{2}$")) {            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");            try {                return sdf.parse(s);            } catch (ParseException e) {                e.printStackTrace();            }        } else {            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");            try {                return sdf.parse(s);            } catch (ParseException e) {                e.printStackTrace();            }        }        return null;    }}

然后在我的测试用的实体类可以被成功拦截,而在之前hibernate生成的实体类却无效,这个问题困扰了我好几天。

今天发现生成的实体类中我的Date类型导入的是java.sql.Date的包,然后改回了util的,ok了。

0 0
原创粉丝点击