2014-02-01 5 views
0

В Gwt я устанавливаю язык для использования в <meta name="gwt:property" content="locale=${pageContext.request.locale}">. Локаль управляется весной с LocaleChangeInterceptor, и это работает нормально.Получение текущей локали в GWT

Для формы я хочу загрузить доступные страны в список Gwt с сервера. Конечно, я хочу, чтобы названия стран были на правильном языке, поэтому я создал метод обслуживания void getCountryCodes(String language, AsyncCallback<Map<String, String>> async). Этот код также работает правильно, когда я вставляю язык как «nl» или «en» для голландского или английского.

Мой последний кусочек этой головоломки - это получить локаль, в которой работает мое приложение GWT. Я попытался использовать GwtLocale и с LocaleInfo, но оба не могут дать мне информацию, чтобы найти текущий язык, в котором я запущен.

Может ли кто-нибудь помочь мне найти правильный способ получения языка, на котором работает мое приложение gwt?

Благодарим вас за все ваши усилия.

+0

Я нашел подобный вопрос, это может помочь вы. http://stackoverflow.com/questions/16727/how-to-get-locale-information-on-a-gwt-application http://stackoverflow.com/questions/10106973/how -to-get-the-current-locale-in-gwt-using-localeinfo –

+0

Спасибо всем за помощь. Фактическая проблема заключалась в том, что я не правильно передаю локаль. Использование 'LocalInfo.getCurrentLocale(). GetLocaleName()' работал как шарм. – DukeMe

+0

@Martin - Если вы читаете вопрос, с которым вы связались, это не дубликат. –

ответ

2

В GWT:

String locale = LocaleInfo.getCurrentLocale().getLocaleName(); 
+0

Используя это решение, я получаю значение «по умолчанию», даже если мой JSP правильно устанавливает «en_US» с помощью , любая справка ? – Taka

0

Вы можете поместить локали данные дополнительно в скрытом поле

<input type="hidden" value="${pageContext.request.locale}" id="springlocale"/> 

и получить его на стороне клиента

String locale = (InputElement) (Element) DOM.getElementById("springlocale").value 
Смежные вопросы