2010-05-26 4 views
2

Je souhaite stocker le nom exact du pays à l'aide de g: countrySelect. Exemple Allemagne au lieu de DEU. C'est la valeur dans le menu déroulant. Le texte déroulant est l'Allemagne, mais lorsqu'il l'enregistre dans la base de données, il revient au code du pays. Désolé si je suis un peu naïf mais j'ai cherché pendant presque 3 heures pour des solutions et il n'est pas bien documenté sur le site Web de grails. Je pourrais opter pour n'importe quelle alternative même ajax. Juste pour avoir un moyen facile d'afficher une liste de pays et sera en mesure de stocker le nom réel du pays NON le code du pays. Je vous remercie!g: countrySelect avec le nom complet du pays en tant que valeur

Répondre

5

Vous pouvez convertir un code de pays ISO3 au nom du pays en utilisant cette fonction

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

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

Si vous voulez faire dans un GSP, il serait préférable de les rendre accessibles en TagLib.

+0

Vous devrez peut-être appeler toUpperCase() avec votre code de pays. Par défaut, la balise countrySelect stocke le code en minuscules. – Stephan

Questions connexes