Grails3字段插件-使用f:display标记显示属性值以代替hasMany Object:id
我有一个名为Project的域,它有很多关系,比如Grails3字段插件-使用f:display标记显示属性值以代替hasMany Object:id,grails,Grails,我有一个名为Project的域,它有很多关系,比如 class Project { static hasMany = [prefixes: Prefix] } 在使用的show.gsp项目中,前缀列表显示的id与com.example类似。前缀:1 我想用一些更有意义的东西来代替它,通过在前缀“number”和“name”的两个属性之间加一个连字符来连接它们。在没有字段插件的Grails 2中,我会这样做: <ol> ... <li class="fieldco
class Project {
static hasMany = [prefixes: Prefix]
}
在使用
的show.gsp项目中,前缀列表显示的id与com.example类似。前缀:1
我想用一些更有意义的东西来代替它,通过在前缀“number”和“name”的两个属性之间加一个连字符来连接它们。在没有字段插件的Grails 2中,我会这样做:
<ol>
...
<li class="fieldcontain">
<span id="prefixes-label" class="property-label">
<g:message code="prefixes.label" default="Prefixes" /></span>
<g:each in="${project.prefixes}" var="p">
<span class="property-value" aria-labelledby="prefixes-label">
<g:link controller="prefix" action="show" id="${p.id}">${p.number} - ${p.name}</g:link></span>
</g:each>
</li>
...
</ol>
...
${p.number}-${p.name}
...
我试着用上面的代码创建一个grails app/views/project/show/_displayWrapper.gsp,除了用“bean”替换“project”和show.gsp中的
,但我仍然得到了默认页面
如何使用
样式标记来实现这一点
谢谢,
Carl我通过为我的常规属性创建一个默认的views/project/show/_displayWrapper.gsp来实现它:
<li class="fieldcontain">
<span id="${label}" class="${label}"><g:message code="${label}" default="${label}" /></span>
<span class="property-value" aria-labelledby="${label}"><g:fieldValue bean="${project}" field="${property}"/></span>
</li>
我的一个特定的名字在views/project/show/prefixes/\u displayWrapper.gsp中有很多前缀
<li class="fieldcontain">
<span id="${label}" class="${label}"><g:message code="${label}" default="${label}" /></span>
<g:each in="${value}" var="p">
<span class="property-value" aria-labelledby="${label}"><g:link controller="prefix" action="show" id="${p.id}">${p.number} - ${p.name}</g:link></span>
</g:each>
</li>
${p.number}-${p.name}
然后在我的show.gsp中我替换了
<f:display bean="project" />
与
...
您能解释一下您在这些${label}值中放了什么吗??
<ol class="property-list">
<f:display bean="project" property="number"/>
<f:display bean="project" property="name"/>
...
<f:display bean="project" property="prefixes"/>
</ol>