您好,我是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岁以上人士的姓名?
提前非常感谢你!
答案 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>