Grails 3改变了f:table中的单元格显示样式

时间:2017-09-27 16:36:02

标签: grails

我是Grails的新手。我喜欢可以轻松生成所有视图的想法,但是现在当我想在f:table中自定义出生日期列的显示样式时我遇到了一些问题(据我所知,这来自字段插件)。列的值显示为

2017-09-27 00:00:00 ICT

_table.gsp

的某些部分
<g:each in="${collection}" var="bean" status="i">
        <tr class="${(i % 2) == 0 ? 'even' : 'odd'}">
            <g:each in="${domainProperties}" var="p" status="j">
                <g:if test="${j==0}">
                    <td><g:link method="GET" resource="${bean}"><f:display bean="${bean}" property="${p.name}" displayStyle="${displayStyle?:'table'}" theme="${theme}"/></g:link></td>
                </g:if>
                <g:elseif test="${p.name instanceof java.util.Date}">
                    <td>Some style here</td>
                </g:elseif>
                <g:else>
                    <td><f:display bean="${bean}" property="${p.name}"  displayStyle="${displayStyle?:'table'}" theme="${theme}"/></td>
                </g:else>
            </g:each>
        </tr>
    </g:each>

我是否必须覆盖插件的_table.gsp?如果有,怎么样?或者有更好的方法吗?

1 个答案:

答案 0 :(得分:2)

有多种方法可以实现,请参阅文档here

执行此操作的一种方法是在名称与您尝试自定义的字段相同的子目录中创建名为_displayWrapper.gsp的文件,例如如果您的域名被称为Person&amp;日期字段为dob您要创建以下内容:

/views/person/dob/_displayWrapper.gsp

然后在_displayWrapper.gsp中,您可以访问一堆字段,例如整个bean,或者在这种情况下,您可能只想要值,如下所示:

<g:formatDate date="${value}" format="EEE d MMM yyy HH:mm:ss" />

这应该以{{1​​}}。

中指定的格式呈现日期字段