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スコープ内にnamedのインスタンスがあるとすると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 に答える