在我的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
答案 0 :(得分:3)
不,这不是错误。 fieldValue
标记将传递的属性转换为String
,并执行HTML编码。这意味着无法将响应格式化为Date
,因为它只有String
。
只有您的第一个代码段传递了原始日期:
<g:formatDate date="${merchantTrans.dateCreated}" />
它在Grails 2.0之前有效,这可能是一个缺陷。