2015-05-27 51 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':'''它工作正常!謝謝! –