2015-04-17 15 views
0

我試圖加載一個具有enum屬性的對象的窗體,似乎一切工作正常,但是當我嘗試應用一個類時出現錯誤。我可以在HTML代碼中看到已檢查屬性已正確應用,但是我需要將特定的類應用於已檢查的元素,並且在以下行中是我遇到問題的那一行。Thymeleaf無法讀取對象的枚舉值

th:classappend="${'__${currency}__' == '__${reference.currency}__' ? 'active'}" 

完整的元素看起來像事先此

<div class="btn-group" data-toggle="buttons"> 
    <label th:each="currency : ${T(entity.CurrencyEnum).values()}" 
    th:for="${#ids.next('currency')}" class="btn btn-default" th:classappend="${'__${currency}__' == '__${reference.currency}__' ? 'active'}"> 
     <input type="radio" th:name="currency" th:field="*{currency}" 
     th:text="${currency}" th:value="${currency}" /> 
    </label> 
</div> 

謝謝...

--- UPDATE ---

這是解決後一個示例代碼問題。問題是我把最後的地方}請小心這個細節。

<div th:fragment="currency (selected)"> 
    <label 
     th:each="currency : ${T(CurrencyEnum).values()}" 
     th:for="${#ids.next('currency')}" class="btn btn-default" 
     th:classappend="${currency == selected} ? 'active'"> <input type="radio" 
     th:name="currency" th:field="*{currency}" th:text="${currency}" th:value="${currency}" /> 
    </label> 
</div> 

回答

0

假設reference是某處定義一個變量,並在此CONTEX是可見的,你可以用這個嘗試:

th:classappend="${currency} eq ${reference.currency} ? 'active'" 
+0

由於它的作品!我發現問題在於{}的位置, –