Grails f:字段显示选定的下拉列表

时间:2017-09-04 05:39:16

标签: select grails gsp

您好,我是Grails的新人,我有一个非常简单的问题,我希望有人可以帮助我。

我有一个简单的域类Person,如下所示:

class Person {

    String  name    //  name of the person
    Date    dob     //  date of birth

}   // end of class

我的数据库中已经有一些Person条目。

在另一种形式中,我想让用户从下拉列表中选择年龄超过21岁的人的姓名。现在它看起来像这样:

<fieldset class="form">

    <f:field bean="Person" property="name" />

</fieldset>

如何从数据库中过滤所有其他人,只显示21岁以上人士的姓名?

提前非常感谢你!

1 个答案:

答案 0 :(得分:0)

在控制器中搜索年龄超过21岁的人,然后将其传递给gsp进行显示。像这样:

import groovy.time.TimeCategory

def create() {

// all your other codes
def adults = Person.findAllByDobGreaterThanEquals(new Date() - 21.year) 

// other codes....
respond new Person(params), model:[adults :adults]
}

然后使用结果集在gsp中显示它。

<fieldset class="form">

    <f:field bean="Person" property="name" >
        <g:select name="name" from="${adults}" optionKey="id" />
    </f:field>

</fieldset>