Thymeleaf 将#locale 表达式对象与字符串进行比较
Thymeleaf compare #locale expression object with string
我想根据使用表达式对象#locale 的上下文语言环境设置 th:class 属性。
我试过了
th:class="${#locale}=='en'?'active':''"
th:class="${#locale=='en'}?'active':''"
它们的结果都是错误的,但是当我用 th:text="${#locale} 打印它时,我得到了正确的语言环境代码 (en,es)。
知道如何将#locale 对象与语言环境代码进行比较吗?
这个问题我以前跟 thymeleaf 的人说的。
您需要先解析 #locale
,然后再将其与 "en" 进行比较。
您可以在要首先解决的表达式的开头和结尾添加 2 个下划线。在你的情况下会是这样的:
th:call="$({__#locale__}=='en'?'active':'')"
基于 posted by David_Garcia,我可以这样解决我的问题:
th:class="__${#locale}__=='en'?'active':''
我是这样用的
th:text="${#locale.toString()}=='in'?'active':'inactive'"
我想根据使用表达式对象#locale 的上下文语言环境设置 th:class 属性。
我试过了
th:class="${#locale}=='en'?'active':''"
th:class="${#locale=='en'}?'active':''"
它们的结果都是错误的,但是当我用 th:text="${#locale} 打印它时,我得到了正确的语言环境代码 (en,es)。
知道如何将#locale 对象与语言环境代码进行比较吗?
这个问题我以前跟 thymeleaf 的人说的。
您需要先解析 #locale
,然后再将其与 "en" 进行比较。
您可以在要首先解决的表达式的开头和结尾添加 2 个下划线。在你的情况下会是这样的:
th:call="$({__#locale__}=='en'?'active':'')"
基于
th:class="__${#locale}__=='en'?'active':''
我是这样用的
th:text="${#locale.toString()}=='in'?'active':'inactive'"