2014-10-23 1 views
1

Мой контекстный путь /, и я добавляю локали непосредственно как часть пути: /de/index.html.Получить выражение Thymeleaf @ {} для добавления локали

Теперь я столкнулся с проблемой, что th:href="@{/login.html}" решит /login.html вместо /de/login.html.

Я уже пытался сделать фильтр и Interceptor, как они сделали это здесь: https://stackoverflow.com/a/23847484/1163457

Но это еще не будет добавлять de/ после пути контекста.

Написание собственных диалектов и процессоров атрибутов было бы решением, но разве не было лучшего?

+0

Yup в нашем проекте мы подобное требование реализованных нами говор и процессоры –

+0

Но, по моему мнению, это не является хорошим решением – dtrunk

ответ

1

Почему бы не выставить атрибут модели для локализации (например, curLocale) и переопределить все ваши URLs как

th:href="@{/${curLocale}/login.html}" 

Thymeleaf позволяет другие выражения внутри самих выражений URL-адресов. Locale информации легко доступна либо в качестве параметра метода или по телефону RequestContext.getLocale()

+0

Это, кажется, единственный способ без написания моего собственного диалекта. Но я не хочу размещать локаль в каждой ссылке. Так что это не вариант для меня. – dtrunk

 Смежные вопросы

  • Нет связанных вопросов^_^