grails 3:如何覆盖java.sql.Date的字段plungin模板

时间:2019-02-18 23:03:11

标签: date grails3

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。

0 个答案:

没有答案