2015-01-13 3 views
1

Я передаю код страны и код страны из пользовательского интерфейса, чтобы создать объект Locale. Как установить этот объект Locale в HttpServletRequest, так что любой, где в веб-приложении я могу использовать этот объект Locale, используя HttpServletRequest.getLocale()?Как установить локаль в Java-приложении?

ответ

2

Значение, возвращаемое HttpServletRequest.getLocale(), устанавливается автоматически с помощью контейнера Servlet. Из Javadocs:

Возвращает предпочтительный языковой стандарт, который клиент будет принимать контент, на основе заголовка Accept-Language. Если в запросе клиента нет , укажите заголовок Accept-Language, этот метод возвращает локаль по умолчанию для для сервера.

Если у вас есть веб-приложение, желательно, чтобы вы не запрашивали код страны и т. Д. В своем приложении, но полагаетесь на настройки/настройки браузера (т.е. устанавливаются каждым пользователем в самом браузере и применимы ко всей сети страниц, которые он посещает). Это значение передается с помощью вышеуказанного механизма и возвращается вашим HttpServletRequest.getLocale().

0

Предполагая, что это за особенность, чтобы позволить пользователю выбрать язык приложения:

Запрос является очень недолговечным объект. Если вы хотите установить его один раз, а затем сохранить значение для нескольких запросов, то сеанс лучше. Если вы имеете дело с приложением без гражданства, то клиент должен будет передать его вместе с каждым запросом.