Java 国际化表单中使用的枚举:选择

Java 国际化表单中使用的枚举:选择,java,spring-boot,enums,internationalization,Java,Spring Boot,Enums,Internationalization,我有一个关于如何国际化我的表单的问题:选择选项。我谈到了可以在表单中显示国际化的部分:选择选项,但它保存消息代码,而不是翻译 JSP } 我想要的是将message.properties的值保存到数据库中,而不是保存到消息代码中 最好的方法是什么 亲切问候, Coos-Wolff一般来说,如果是为了保存在数据库中而不是为了表示,那么应该保存代码,而不是国际化文本。您可以保留一个单独的查找表,该表将包含代码和翻译,并且可以与代码结合起来显示(或者,如果您是通过Java客户端显示的,请按原样使用属性

我有一个关于如何国际化我的表单的问题:选择选项。我谈到了可以在表单中显示国际化的部分:选择选项,但它保存消息代码,而不是翻译

JSP

}

我想要的是将message.properties的值保存到数据库中,而不是保存到消息代码中

最好的方法是什么

亲切问候,


Coos-Wolff

一般来说,如果是为了保存在数据库中而不是为了表示,那么应该保存代码,而不是国际化文本。您可以保留一个单独的查找表,该表将包含代码和翻译,并且可以与代码结合起来显示(或者,如果您是通过Java客户端显示的,请按原样使用属性文件)。@realponsign感谢您的澄清。我出于无法解释的原因认为你不想保存代码。但我认为我不应该把这看作是一件坏事。
                     <form:select path="mutation">
                        <sun2:forEach items="${mutationOptions}" var="option">
                            <form:option value="${option.messageCode}">
                                <bookkeeping:message code="${option.messageCode}"/>
                            </form:option>
                        </sun2:forEach>
                    </form:select>
public enum InvoiceMutationEnum {
INTERNET_BANKING("mutation.internet.banking"), BANK_TRANSFER("mutation.transfer"), COLLECTION("mutation.collection"),
MISCELLANEOUS("mutation.miscellaneous");

private String messageCode;

InvoiceMutationEnum(final String messageCode) {
    this.messageCode = messageCode;
}

public String getMessageCode() {
    return messageCode;
}