grails 2.0 - 使用fieldValue的formatDate,这是Grails 2.0中的一个错误吗?

时间:2012-01-29 02:38:35

标签: grails taglib grails-2.0

在我的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">

谢谢,Ray

1 个答案:

答案 0 :(得分:3)

不,这不是错误。 fieldValue标记将传递的属性转换为String,并执行HTML编码。这意味着无法将响应格式化为Date,因为它只有String

只有您的第一个代码段传递了原始日期:

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

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