java - 直接在枚举中使用 Wicket 属性

标签 java properties enums wicket

我有一个如下所示的枚举:

package de.test;

public enum TestEnum {
    bar("Test");

    private final String label;

    private TestEnum(String labelName) {
        this.label = labelName;
    }

    public String getLabel() {
        return label;
    }
}

我想将字符串“Test”存储在 Java 属性文件中。枚举“TestEnum”应存储属性键,其“getLabel”方法应在属性文件中查找适当的值并返回该值。

package de.test;

public enum TestEnum {
    bar("test.key");

    private final String label;

    private TestEnum(String labelKey) {
       this.label = labelKey;
    }

    public String getLabel() {
        // Look up properties value with label as key in the according properties file
        String labelValue = ...
        return labelValue;
    }
}

我有一个如下所示的属性文件:

test.key=Test

这个问题的背景是:我有一个 Wicket 组件,假设有一个标签,标签的值存储在这个枚举中。但是枚举不应该保存使用的字符串,而应该只保存属性文件的 key 。将属性键返回到 Wicket 组件并让组件在适当的属性文件中查找值的解决方案在我的情况下并不实用。

我使用 Wicket 6.17 和 Java 8。

感谢您的提示。

编辑:这个问题的意图: 在这种情况下使用枚举是由于旧的架构可能不会改变。另一方面,存在一个请求,即不允许该枚举保存标签的具体字符串,因为 GUI 中使用的所有字符串都必须导出到属性文件。

我的另一个目的是了解是否有可能使枚举使用属性文件,也许在 Wicket 框架的帮助下。

最佳答案

我#getLabel()做Application.get().getLocalizer().getString(key)

附注对于错误的格式。我在我的移动设备中。

关于java - 直接在枚举中使用 Wicket 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32602419/

相关文章:

Java import com.google 无法解析

C# 基于另一个属性值的不同属性

delphi - 让 getter 返回私有(private) var 属性的值

c++ - 使用枚举和开关代替访问者模式

java - 在antlr语法g4文件中使用Java代码

java - 如何使用 Java Reflection 将协议(protocol)字符串转换为 Spymemcached 协议(protocol)枚举?

java - 如何使用 ThreeTenABP 将 ZonedDateTime/OffsetDateTime 转换为日期?

java - Java中如何使用swing Timer更好的实现动画

java - Struts2注释(约定插件)

javascript - 使用动态计算的名称访问对象属性