Grails 3.3.8 отображает java.sql.Date неправильно в представлении лесов и любом представлении, используя плагин fields.Например, если birthDate имеет тип java.sql.Date, он отображает это:
Birth Date 2012-03-18 00:00:00 CET
вместо этого:
Birth Date 2012-03-18 00:00:00 CET
Обратите внимание, что весь смысл java.sql.Date таков:не имеет времени или часового пояса, как если бы сервер или локальный часовой пояс изменились, вы никогда не захотите, чтобы эта дата изменилась.
В соответствии с документами здесь , ниже приведены пути для шаблоновисправить это отображение:
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/
Мне нужно исправить все поля, которые используют java.sql.Date.
Однако, похоже, я не могу.Если я поставлю свой _displyWidget.gsp, используя этот:
grails-app/views/_fields/propertyType/
т.е.
grails-app/views/_fields/date/_displayWdiget.gsp
Он меняет все даты, включая java.util.Date, что неверно.
Я пытался использовать этот путь:
grails-app/views/_fields/java/sql/date/_displayWidget.gsp
Но это не работает, оно игнорируется, и даты отображаются некорректно, как и раньше, с указанием времени и часового пояса.
Есть ли обходной путь?
Я мог бы создать _displayWdigets для каждого поля в каждом контроллере или классе с этим типом, но их слишком много (даты встречаются очень часто), и это было бы проблемой обслуживания, поскольку разработчики добавляли новые даты в объекты доменаНе знаю также, чтобы создавать displayWidgets для каждого.