認爲這將是更容易....想象<g:select />
這樣的:Grails中
<g:select name="type.id" from="${Type.list()}"
value="${domainInstance?.type?.id}" />
兩個領域類這樣的(請原諒我,如果這些人造類不無差錯)
class Domain {
Type type
}
class Type {
String name
}
我現在想翻譯select元素的條目。下面的代碼首先看了好:
<g:select name="type.id" from="${Type.list()}"
valueMessagePrefix="type.name"
value="${domainInstance?.type?.id}" />
,像這樣在messagebundle條目:
type.name.type1 = red
type.name.type2 = green
問題:不僅是文字被翻譯,但選擇鍵,太!
於是,我就添加optionKey='id'
:
<g:select name="type.id" from="${Type.list()}"
valueMessagePrefix="type.name"
value="${domainInstance?.type?.id}"
optionKey='id' />
這個切換的鑰匙ID - 偉大的,但文字切換到ID,太:-(
任何想法如何解決這個?
謝謝,但這沒有奏效,你的關閉中的「name」會收到g:select的「from」對象,所以你必須這麼做:(至少那對我有用) optionValue =「$ { {typeAbc-> g.message(code:'type.name'+ typeAbc.name)}我希望這可以幫助別人:) 我重命名類型爲typeAbc以區別於您的i18n前綴 – hereForLearing
我想我的答案只適用於舊版本的Grails ...你使用哪個版本? – rdmueller
3.1.7,哦,也許這就是爲什麼 – hereForLearing