我已经对如何显示带有可选值的下拉列表进行了一些研究。当前,我在下拉列表中有一个域对象(人员)列表。它们显示为“名字姓氏”。

我想更改名称在选择中的显示方式。查看g:select API,我可以使用optionValue和optionKey。我已经尝试过了,但是一无所获。所以这是我当前的代码:

<g:select id="allPeople" name="allPeople" from="${dropdown}" />

我希望输出为“Last,First”。我已经试过了:
<g:select id="allPeople" optionValue="${it?.last},${it?.first}" from="${dropdown}" name="allPeople" value="" >

最佳答案

做到这一点的一种好方法是在您的域上添加一个瞬时 setter/getter ,然后将其用于optionValue。

class Person {
    String first
    String last

    static transients = ['lastFirst']

    String getLastFirst() {
        "$last, $first"
    }
}

然后
<g:select name="allPeople" optionValue="${it.lastFirst}" from="${dropdown}"/>

关于grails - Grails中的OptionValue选择域对象列表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12199486/

10-11 07:12