g:country选择国家名称作为值

问题描述:

我想使用g:countrySelect存储确切的国家名称。例如德国而不是DEU。这是下拉菜单中的值。下拉文本是德国,但是当它保存到数据库时,它会变回国家代码。对不起,如果我有点天真,但我一直在寻找近3个小时的解决方案,并没有很好的记录在Grails网站。我可以选择任何替代方案,即使是ajax。只需要一个简单的方法来显示国家列表,并将能够存储国家的非国家代码的真实姓名。谢谢!g:country选择国家名称作为值

你可以,如果你想在GSP内做到这一点使用该功能

def getCountryName(String countryCode) { 
    Locale.availableLocales.find{it.ISO3Country == countryCode}.displayCountry 
} 

// Test 
println getCountryName('DEU') // prints 'Germany' 

从ISO3国家代码的国家名称转换,这将是最好的,使这个可以作为一个标签库。

+0

您可能需要在您的国家/地区代码上调用toCupCase()。 countrySelect标签默认以小写形式存储代码。 – Stephan 2015-04-17 07:49:18