g:formatDate java.sql.Date class 个实例的问题
g:formatDate issue with java.sql.Date class instances
Java 7 - java.sql.Date - 使用 java.util.Date class.
的 toInstant 方法
Java 8 - java.sql.Date - 覆盖 toInstant 方法,现在抛出 UnsupportedOperationException
异常。
grails-gsp-plugin v3.3.2 - DefaultGrailsTagDateHelper - 能够格式化 java.sql.Date class 实例。
grails-gsp-plugin v4.0.0 - DefaultGrailsTagDateHelper - 无法格式化 java.sql.Date class 实例 因为 date.toInstant()
正在抛出 UnsupportedOperationException
(预计按照 java 8 代码)。
并且根据 docs Grails 4 不再与 Java 1.7.
兼容
所以现在预计 g.formatDate
不允许 java.sql.Date class 实例?还是插件有问题?
我认为此更改是在 https://github.com/grails/grails-gsp/commit/20e6ad461b575642263e4689de9cb1c7f33d1a7b. If you file a report at https://github.com/grails/grails-gsp/issues 引入的,我们可以进行调查。
感谢反馈。
解决方法 --
从 java.sql.Date
class 实例获取毫秒数并将其传递到标签库中。
g.formatDate(date: date.getTime(), format: 'yyyy/MM/dd')
Java 7 - java.sql.Date - 使用 java.util.Date class.
的 toInstant 方法Java 8 - java.sql.Date - 覆盖 toInstant 方法,现在抛出 UnsupportedOperationException
异常。
grails-gsp-plugin v3.3.2 - DefaultGrailsTagDateHelper - 能够格式化 java.sql.Date class 实例。
grails-gsp-plugin v4.0.0 - DefaultGrailsTagDateHelper - 无法格式化 java.sql.Date class 实例 因为 date.toInstant()
正在抛出 UnsupportedOperationException
(预计按照 java 8 代码)。
并且根据 docs Grails 4 不再与 Java 1.7.
兼容所以现在预计 g.formatDate
不允许 java.sql.Date class 实例?还是插件有问题?
我认为此更改是在 https://github.com/grails/grails-gsp/commit/20e6ad461b575642263e4689de9cb1c7f33d1a7b. If you file a report at https://github.com/grails/grails-gsp/issues 引入的,我们可以进行调查。
感谢反馈。
解决方法 --
从 java.sql.Date
class 实例获取毫秒数并将其传递到标签库中。
g.formatDate(date: date.getTime(), format: 'yyyy/MM/dd')