Несколько значений по умолчанию для локали в Spring Web MVC? - PullRequest
2 голосов
/ 15 декабря 2011

Я бы хотел, чтобы мое веб-приложение на основе Spring-MVC по умолчанию использовало языковой стандарт SK при вводе языкового стандарта CZ, однако для любого другого языкового стандарта по умолчанию должен быть установлен EN.Словацкий язык при посещении с компьютера с настройкой чешской или словацкой локали.В противном случае сайт должен просто по умолчанию на английском языке.Как я мог этого добиться?Должен ли я создать подкласс org.springframework.web.servlet.i18n.LocaleChangeInterceptor и написать собственный код, или есть ли способ достижения этой цели только для конфигурации?Я могу себе представить, что у немецкоговорящих стран могут быть такие же требования, как по умолчанию для DE при посещении из Германии или Австрии, в противном случае по умолчанию для EN ...

1 Ответ

3 голосов
/ 15 декабря 2011

Вам не нужно создавать подкласс LocaleChangeInterceptor.LocaleChangeInterceptor обнаруживает изменения в локали с помощью параметра запроса 'Locale'.

Вам потребуется настроить файлы свойств для перехватчика и локали.После этого вы можете использовать

 <spring:message code="propertyVal"/>

для их отображения. Проверьте здесь для примера конфигурации.

Вы также можете использовать CookieLocaleResolver, который является "реализацией LocaleResolver, которая используетфайл cookie, отправляемый пользователю в случае пользовательской настройки, с откатом к указанной локали по умолчанию или локали принятия заголовка запроса. "

...