Grails select不会显示嵌套类的字符串

时间:2012-01-05 21:00:29

标签: grails

我正在尝试做一些非常简单的事情,显然并非那么简单。我有一个域类:

class Regex {
    String name
    String Regex 
}

和另一个班级:

class RegexRef {
    int sequenceNumber
    Product product
    Regex regex
}

现在,在select中,我想列出RegexRef实例,正则表达式的名称为optionValue:

<g:select name="regexRef.id" from="${com.mycompany.RegexRef.list()}" optionKey="id" size="5" optionValue="regex.name" value="${actionRefInstance?.regexRef?.id}"  />

但这不起作用。它抛出: 异常消息:没有这样的属性:类的regex.name:com.jetheaddev.RegexRef

我可以在其他结构中做错误指导...

<g:link controller="regexRef" action="show" id="${actionRefInstance?.regexRef?.id}">${actionRefInstance?.regexRef?.regex.name.encodeAsHTML()}</g:link>

它工作正常。

1 个答案:

答案 0 :(得分:2)

使用optionValue="regex.name"<g:select/>正在尝试将RegexRef的属性检索为:

regexRefInstance."regex.name"

要检索Regex上的名称属性,请执行:

<g:select optionValue="${{it.regex.name}}"/>

将在列表中的每个条目上运行optionValue Closure并检索相关的name属性。