g: странаВыберите с полным названием страны в качестве значения - PullRequest
2 голосов
/ 26 мая 2010

Я хочу сохранить точное название страны, используя g: countrySelect. Пример Германия вместо DEU. Это значение в выпадающем меню. Выпадающий текст - Германия, но когда он сохраняет его в базе данных, он возвращается к коду страны. Извините, если я несколько наивен, но я искал решения почти 3 часа, и это не очень хорошо задокументировано на сайте Grails Я мог бы выбрать любую альтернативу, даже AJAX. Просто чтобы иметь простой способ отобразить список стран и сможете хранить РЕАЛЬНОЕ ИМЯ страны, а НЕ код страны. Спасибо!

Ответы [ 2 ]

5 голосов
/ 26 мая 2010

С помощью этой функции вы можете преобразовать код страны ISO3 в название страны

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

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

Если вы хотите сделать это в GSP, было бы лучше сделать это доступным как TagLib.

0 голосов
/ 02 апреля 2018

Не уверен, когда вышеприведенное решение перестало работать, но если вы попробуете это сейчас, вы получите ошибку:

Couldn't find 3-letter country code for CS

В последней версии Grail текущий способ получения полного названия страны заключается в использовании этого тега:

<g:country code="${country}"/>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...