Grails 2.0 - formatDate с использованием fieldValue, это ошибка в Grails 2.0? - PullRequest
1 голос
/ 29 января 2012

В моем Grails 2.0 работает следующий код GSP:

 <g:formatDate date="${merchantTrans.dateCreated}" />

Но код

 <g:formatDate date="${fieldValue(bean: merchantTrans, field: 'dateCreated')}" />

вызывает следующую ошибку:

Stacktrace выглядит следующим образом: Сообщение: неизвестный класс: org.codehaus.groovy.grails.web.util.StreamCharBuffer

Я пробовал разные комбинации одинарных и двойных кавычек, но получил ту же ошибку. Этот код работал в Grails 1.3.7, так? Там мне действительно удавалось использовать двойные кавычки как на dateCreated, так и на date = "...".

Если у вас есть момент, можете ли вы проверить поле dateCreated в одном из объектов вашего домена, чтобы увидеть, получаете ли вы то же самое? Возможно, у меня есть какая-то другая проблема обновления до Grails 2.0, о которой я не знаю?

Если это имеет значение, я перебираю объекты merchantTrans следующим образом:

<g:each in="${merchantTransactionInstanceList}" status="i" var="merchantTrans">

Спасибо, Рэй

1 Ответ

3 голосов
/ 29 января 2012

Нет, это не ошибка.Тег fieldValue преобразует переданное свойство в String, а также выполняет кодировку HTML.Это означает, что ответ не может быть отформатирован как Date просто потому, что его String.

Только ваш первый фрагмент передает необработанную дату:

<g:formatDate date="${merchantTrans.dateCreated}" />

Если он работал до Grails 2.0возможно, это был дефект.

...