2015-05-27 48 views
2

我想根据使用表达式对象#locale的上下文语言环境来设置th:class属性。Thymeleaf比较#locale表达式对象与字符串

我已经试过

th:class="${#locale}=='en'?'active':''" 
th:class="${#locale=='en'}?'active':''" 

他们都导致假的,但了when我有个打印:文本=“$ {#语言环境},我得到了正确的地区代码(en,ES)。

如何将#locale对象与区域代码比较任何想法?

回答

9

基于发表David_Garciaanswer,我可以解决我的问题是这样的:

th:class="__${#locale}__=='en'?'active':'' 
2

这是我告诉我的thymeleaf前段时间家伙问题。

您需要先解决#locale,然后再与“en”比较。 您可以在开始时添加2个下划线,然后结束您想要首先解析的表达式。你的情况会是这样的:

th:call="$({__#locale__}=='en'?'active':'')" 
+1

哪里说得对,先解决表达式,但方式你表示没有为我工作。我用这个来代替: 'th:class =“__ $ {#locale} __ =='en'?'active':'''它工作正常!谢谢! –