Grails 3.3.8在脚手架视图和使用字段插件的任何视图中均无法正确显示java.sql.Date。例如如果birthDate是类型java.sql.Date,它将显示以下内容:
545
代替此:
Birth Date 2012-03-18 00:00:00 CET
请注意,java.sql.Date的要点是没有时间或时区,就好像服务器或本地时区已更改一样,您永远都不想更改此日期。
根据文档here,以下是用于修复此显示的模板的路径:
Birth Date 2012-03-18 00:00:00 CET
我需要修复所有使用java.sql.Date的字段。
但是,看来我做不到。如果我将_displyWidget.gsp放在这个位置:
grails-app/views/controllerName/
grails-app/views/_fields/class/propertyName/
grails-app/views/_fields/superclass/propertyName/
grails-app/views/_fields/associationType/
grails-app/views/_fields/propertyType/
grails-app/views/_fields/propertySuperclass/
grails-app/views/_fields/default/
即
grails-app/views/_fields/propertyType/
它将更改所有日期,包括错误的java.util.Date。
我尝试使用此路径:
grails-app/views/_fields/date/_displayWdiget.gsp
但是它不起作用,它将被忽略,并且日期和以前一样不正确地显示日期和时区。
有解决方法吗?
我可以使用这种类型为每个控制器或类中的每个字段创建_displayWdigets,但是数量太多(日期很常见),这将成为维护问题,因为开发人员无法在域对象中添加新日期为每个创建displayWidgets。