3

我正在 grails 中创建一个名为 HOLIDAY 的域类。我需要在我的假期年份字段中有一个年份下拉列表。听到是我的域:-

class Holiday extends CategoryMaster {

    String holidayName
    Date startDate
    int year
    Date dateCreated

    static constraints = {
        holidayName(blank:false, nullable:false)        
    }
}

我需要年份字段中的年份下拉列表,它是否应该动态地来自一个域方法,该方法将丢弃月份和日期并在该下拉列表中仅反映年份添加 +50 -50?...我怎样才能得到它?

4

1 回答 1

3

Holiday假设您有一个在范围内命名的实例holiday,您可以使用以下内容创建下拉列表:

<g:select name="year" from="${holiday.year - 50..holiday.year + 50}"
    value="${holiday.year}"/>

这会将下拉列表的当前值设置为holiday.year并提供 50 年的范围。

顺便说一句,如果year是 的年份startDate,则无需将其存储为单独的字段,因为它可以通过以下方式轻松计算:

startDate[Calendar.YEAR]
于 2012-06-07T10:36:57.970 回答