1

在我的 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="..." 和 date="..." 上都使用了双引号。

如果您有时间,请您在您的一个域对象中测试一个 dateCreated 字段,看看您是否得到相同的结果。也许我还有其他一些我不知道的 Grails 2.0 更新问题?

万一这很重要,我会这样迭代merchantTrans对象:

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

谢谢,雷

4

1 回答 1

3

不,这不是错误。该fieldValue标记将传递的属性转换为 aString并进行 HTML 编码。这意味着响应不能被格式化为 aDate仅仅因为它是 a String

只有您的第一个片段通过了原始日期:

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

它在 Grails 2.0 之前有效,这可能是一个缺陷。

于 2012-01-29T05:49:48.230 回答