grails - Grails选择将不会显示嵌套类中的字符串

标签 grails

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

class Regex {
    String name
    String Regex 
}

和另一类:
class RegexRef {
    int sequenceNumber
    Product product
    Regex regex
}

现在,在一个选择中,我要列出RegexRef实例,其中正则表达式的名称为optionValue,如下所示:
<g:select name="regexRef.id" from="${com.mycompany.RegexRef.list()}" optionKey="id" size="5" optionValue="regex.name" value="${actionRefInstance?.regexRef?.id}"  />

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

我可以在其他结构中进行这种误导...
<g:link controller="regexRef" action="show" id="${actionRefInstance?.regexRef?.id}">${actionRefInstance?.regexRef?.regex.name.encodeAsHTML()}</g:link>

而且效果很好。

最佳答案

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

regexRefInstance."regex.name"

要检索Regex类的name属性,请执行以下操作:
<g:select optionValue="${{it.regex.name}}"/>

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

关于grails - Grails选择将不会显示嵌套类中的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8749740/

相关文章:

grails - Grails-带有pdf附件的RESTful Web服务?

grails - 将全局缓存设置为false

grails - 解释Grails中的belongsTo

grails - 为什么Grails域验证会拒绝类似http://wctest.jenkins:8080/CRMGateway的网址

grails - 无法使用 Spring Security 保护 Grails 中的流程步骤

grails - 将列的求和值与另一列进行比较-条件不正确

rest - 如何通过REST调用来存储应用程序的数据

grails - grails:在单个列表中包含多个对象

grails - 按年份筛选Grails列表

grails - 如何在 Grails 中表示一对多,并对另一个域类进行约束?