2014-03-12 41 views
0

我有域對象市如何在grails g中設置默認值:select?

City{ 
Long id 
String city 
... 
String toString() { 
     return "$city" 
} 
} 

說表是這樣的。

id name 
1 ABC 
2 PQR 
3 XYZ 

城市的名單我填充在GSP這樣

<g:select name="city" from="${City.list()}" /> 

現在我需要填充它來自控制器這樣的事情

cmd.city = "PQR" 
render template:'messageDisplay', model:[cmd: cmd] 

現在我想城市的默認值在選擇列表中填入默認值「PQR」

<g:select name="city" from="${City.list()}" value="${cmd.city}" /> 

但「PQR」不顯示爲默認值。

回答

2

你有一個字符串和市目標,並試圖對它們進行比較......

更改您的選擇:

<g:select name="city" 
      from="${City.list()}" 
      value="${cmd?.city?.id}" 
      optionKey="id" /> 

而在你的控制器:

cmd.city = City.findByName("PQR") 
+0

哦!它可以用其他方式完成嗎?像我可以得到城市名稱而不是城市對象的字符串列表? – user1298426

+1

你可以嘗試:'from =「$ {City.list()。name}」' –

+0

是的工作!謝謝 – user1298426