java - Spring Thymeleaf 中枚举的本地化

标签 java spring enums localization thymeleaf

在一个表单中,我有对应于枚举的单选按钮:

public enum EleType {
    INTEGER, 
    CHARACTER
}

表单的html是:

<div class="form-check" th:each="elementType : ${T(org.example.sorting.EleType).values()}">
    <input type="radio" class="form-check-input" name="elemType" th:id="${{elementType}}" th:field="*{elementType}" th:value="${{elementType}}" />
    <label th:for="${{elementType}}"  th:text="${{elementType}}">Elem Types</label>
</div>

这为我提供了标签为“INTEGER”、“CHARACTER”的单选按钮。

我想使用 messages.properties 文件翻译这些字符串。因此,我尝试在 messages.properties 文件中使用 label.pages.sorting.INTEGER=Integerlabel.pages.sorting.CHARACTER=Character:

<label th:for="${{elementType}}"  th:text="#{label.pages.sorting.${{elementType}}}">Elem Types</label>

这不起作用,因为 ${{elementType}} 未在 #{...} 内求值。

我怎样才能使这项工作?或者是否有其他/更好的方法来引入枚举的本地化?

最佳答案

我自己想通了。以下作品:

<label th:for="${{elementType}}"  th:text="#{'label.pages.sorting.'+${{elementType}}}">Elem Types</label>

关于java - Spring Thymeleaf 中枚举的本地化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40384453/

相关文章:

java - 使用我们自己的附加参数为 Google Cloud Storage 生成签名 URL

java - 对 Glibc getaddrinfo 的看法

java - 将秒转换为可读的时间字符串

scala - 获取 Scala 枚举实例

由于枚举类嵌套,C++ 循环依赖

java - 从数组列表中获取绑定(bind)值

java - (Spring) 我可以在循环内使用依赖注入(inject)吗?

java - 向现有 Spring 应用程序添加 Web 套接字支持

spring - PostgresQL + Spring JPA : org. postgresql.util.PSQLException:错误:无法将类型 bytea 转换为没有时区的时间戳

c++ - 如何优雅地将所有枚举放入 std::set