Grails3更改f:table中的单元格显示样式

Grails3更改f:table中的单元格显示样式,grails,Grails,我是圣杯新手。我喜欢所有视图都可以轻松生成的想法,但是现在当我想要自定义f:table中出生日期列的显示样式时,我面临一些问题(据我所知,这来自fields插件)。列的值显示为 2017-09-27 00:00:00 ICT \表的某些部分。gsp <g:each in="${collection}" var="bean" status="i"> <tr class="${(i % 2) == 0 ? 'even' : 'odd'}">

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

2017-09-27 00:00:00 ICT

\表的某些部分。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>

这里有些风格

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

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

一种方法是在一个子目录中创建一个名为
\u displayWrapper.gsp
的文件,该子目录与您试图自定义的字段名相同,例如,如果您的域名为
Person
,日期字段名为
dob
,则您将创建以下内容:

/views/person/dob/_displayWrapper.gsp
<g:formatDate date="${value}" format="EEE d MMM yyy HH:mm:ss" />
然后在_displayWrapper.gsp中,您可以访问一组字段,例如整个bean,或者在本例中,您可能只需要值,如下所示:

/views/person/dob/_displayWrapper.gsp
<g:formatDate date="${value}" format="EEE d MMM yyy HH:mm:ss" />


这将以
f:table

中指定的格式呈现日期字段。上述内容适用于包含
f:table
的my
index.gsp
。但是在my
show.gsp
中,它包含
f:display
。即使我添加了
/views/\u fields/registration/dob/\u displayWrapper.gsp
之后,显示的出生日期仍然是
2017-09-28 00:00:00 ICT
。有什么想法吗?创建与
\u displayWrapper.gsp
内容相同的
/views/person/dob/\u displayWidget.gsp