Grails3字段插件-使用f:display标记显示属性值以代替hasMany Object:id

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

我有一个名为Project的域,它有很多关系,比如

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>