Thymeleaf 无法从对象读取枚举值

Thymeleaf is not working reading enum values from a object

我正在尝试使用具有枚举 属性 的对象加载表单,似乎一切正常,但是当我尝试应用 class 时出现错误。我可以在 HTML 代码中看到 checked 属性 已正确应用,但是我需要将特定的 class 应用于已检查的元素并且下一行是我遇到的问题。

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>

提前致谢...

---更新---

这是解决问题后的示例代码。问题是我把最后的 } 放在哪里,请注意这个细节。

<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>

假设 reference 是在某处定义的变量,并且在这个上下文中可见,你可以试试这个:

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