Java Spring: localeChangeInterceptor и поддоменов - PullRequest
1 голос
/ 22 февраля 2012

У меня есть веб-приложение Spring MVC, и я хочу сделать это (пример):

  • Запрос на поддомен en.foo.com -> язык должен быть Английский
  • Запрос на субдомен es.foo.com -> язык должен быть Испанский

Я уже использую localeChangeInterceptor изменить язык по параметру URL по запросу, и это работает (добавление параметра, например? lang = en к моим URL).

Но как лучше всего иметь субдоменов, зависящих от языка с весны?Я искал в Интернете и документации Spring, но пока не нашел ответа.

Я думаю, что это может работать так:

  1. Перехватить любой запрос
  2. Определить использованныйподдомен
  3. Решите, какой язык / локаль следует использовать, и установите его, как localeChangeInterceptor делает

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

Заранее спасибо!

1 Ответ

3 голосов
/ 22 февраля 2012

Вы захотите реализовать свой собственный LocaleResolver .

Метод LocaleResolver.resolveLocale (HttpServletRequest) - это то, что Spring использует для определения того, какой Locale использовать из MessageSource. Вы можете извлечь поддомен из запроса и вернуть желаемый язык.

...