12

例:

batchTag は、次のような値を持つ、batchRange の列挙型属性です。

JAN1 "January Biweekly 1",
JAN2 "January Biweekly 2",

選択にbatchTagの値を表示したい、IOW、選択に含める必要があります

"January Biweekly 1"
"January Biweekly 2" ...

いいえ

JAN1
JAN2
FEB1
FEB2
FEB3 ...

これを行うために g:select でいくつかのことを試しましたが、成功しませんでした。おそらく "it" は g:select の一部として利用できるのではないかと考え (これは明らかに反復であるため)、optionValue の it.batchTag.name を参照しようとしましたが、うまくいきませんでした。助言がありますか?

ありがとうございました!

4

2 に答える 2

23
enum BatchRange {
    JAN1 "January Biweekly 1",
    JAN2 "January Biweekly 2",

    final String value

    BatchRange(String value) { this.value = value }

    String toString() { value } 
    String getKey() { name() }
}

getKey() メソッドに注意してください。そして、あなたの g:select

<g:select name="batch" from="${BatchRange.values()}" optionKey="key" />

また

<g:select name="batch" from="${BatchRange.values()}" keys="${BatchRange.values()*.name()}" />
于 2012-06-20T19:20:54.573 に答える
0

この場合、i18n メッセージを使用することをお勧めします。次の 2 つのオプションがあります。

  1. 選択に valueMessagePrefix を追加します。
  2. このブログ投稿org.springframework.context.MessageSourceResolvableで説明されているように、列挙型を実装します。

詳細については、この質問を参照してください。

于 2017-10-30T08:10:02.733 に答える