我的上下文路径为/
,我正在直接添加区域设置作为路径的一部分:/de/index.html
。
现在我遇到th:href="@{/login.html}"
将解析为/login.html
而不是/de/login.html
的问题。
我已经尝试制作过滤器和拦截器,就像他们在这里做的那样:https://stackoverflow.com/a/23847484/1163457
但它仍然不会在上下文路径之后附加de/
。
编写我自己的方言和属性处理器将是一个解决方案,但是没有更好的方法吗?
答案 0 :(得分:1)
为什么不公开区域设置的模型属性(例如curLocale)并重新定义所有网址,例如
th:href="@{/${curLocale}/login.html}"
Thymeleaf允许在url表达式中使用其他表达式。 可以通过方法参数或通过调用RequestContext.getLocale()
轻松访问区域设置信息答案 1 :(得分:0)
经过数小时的逐步调试,我自己找到了一个干净且好的解决方案: https://stackoverflow.com/a/60103777/1163457