2019-09-06 15:41
@JFinal 嗯,谢谢波总,不过应该时实现不了我要的效果。源码里发现了这个方式定制化转化器实现了:
TypeConverter 用于将客户端请求的 String 类型数据转换成指定的数据类型
通过实现 IConverter 定制自己的类型转换规则:
* 1:实现 IConverter 接口,如 MyDateConverter
* 2:注册:TypeConverter.me().regist(Date.class, new MyDateConverter());
2019-09-06 10:51
@JFinal 额。这个 setDatePattern(...)是engine里面的DatePattern属性吧。 Converters类里的定义是 static final datePattern = "yyyy-MM-dd"的, 有两个常量只适配了 以 “-”连接年月日的 时间格式 。我这边前台传入的是 yyyy/MM/dd HH:ss 和 yyyy/MM/dd 类型的数据。 老系统由jfinal2.0升级到4.4,升级JDK1.8以后 升级了sqljdbc包到sqljdbc4.2,以前老版本的sqljdbc包读取表DATE字段为String类型,所以不用转换也能直接到数据库,现在sqljdbc4.2包读取表DATE字段为lang.sql.Date类型字段,必须使用转换器,但是格式不匹配,调用getmodel方法时出现转换错误。
2019-09-06 09:14
@JFinal 波总 yyyy/MM/dd HH:ss 和 yyyy/MM/dd 类型的适配能不能添加上去? 我现在想到的是在basecontrolller 里面重写 getmodel方法,先处理request里面的 date类型参数再,调用 controlller里的getmodel。不过觉得每次都要多一步太多余了。