0

米国のすべての州を含む I18N メッセージ プロパティ ファイルを設定するにはどうすればよいですか。これらを gsp ファイルの ag:select タグに追加できるようにしたいと考えています。これを行うためにオンラインでさまざまな方法を見て、頭を回転させています。また、grails を初めて使用することは役に立ちません。どんな助けでも感謝します。

例:

<select> 
<option value="AL">Alabama</option>
<option value="AK">Alaska</option>
<option value="AZ">Arizona</option>
<option value="AR">Arkansas</option>
<option value="CA">California</option>
<option value="CO">Colorado</option>
.......
</select> 
4

1 に答える 1

0

これを行うにはいくつかの方法があります....

Config.groovy で:

com.app.states=[[abbr: 'AL', name: 'Alabama'],[abbr: 'AK', name: 'Alaska']..........]

次に、あなたのgspで:

<g:select name="state" from="${grailsApplication.config.com.app.states}" optionKey="abbr" optionValue="name" noSelection="${['null':'Select One...']}" value="${obj.state}"/>

別の方法

略語の列挙を作成します。

package com.app.enum
public enum State {
    AL, AK, .........., WY
}

messages.properties にメッセージを追加します。

com.app.enum.AL=Alabama
com.app.enum.AK=Alaska
...
...
...

次に、GSP で:

<g:select name="state" from="${com.app.enum.State.values()}" optionKey="key" valueMessagePrefix="com.app.enum" noSelection="${['null':'Select One...']}" value="${obj.state.key}"/>

私は2番目の方法を好みます。また、モデルの状態フィールドを単なる文字列ではなく State 列挙型として入力します。しかし、これらのいずれかがあなたのために働くはずです...

于 2013-09-25T16:38:21.177 に答える