gpt4 book ai didi

java - Wicket 的枚举值国际化

转载 作者:行者123 更新时间:2023-11-30 04:43:10 26 4
gpt4 key购买 nike

我在 Clazz 类中有一个枚举 FooBar,其错误 FOO 和 BAR 如下:

class Clazz {
enum FooBar{
FOO,
BAR
}
}

我现在想使用 wicket getString() 方法来本地化值 FOOBAR。我能做的最好的事情就是在 i18n 文件中定义

 Clazz.FooBar.FOO=foo
Clazz.FooBar.BAR=bar

我用这段代码获取值

 fooBar = FooBar.FOO;
getString("Clazz.FooBar." + fooBar.name());

我听说这可以在没有 Clazz.FooBar 添加 i18n 查询字符串的情况下实现,但调用的方法会有所不同。如何做到这一点?

最佳答案

您可以将此方法放入您的基本页面/面板中:

public String getString(Enum<?> value) {
Class<?> enclosingClass = value.getClass().getEnclosingClass();
String key = (enclosingClass == null ? "" : enclosingClass.getSimpleName() + ".")
+ value.getClass().getSimpleName() + "." + value.name();
return getString(key);
}

然后你可以简单地调用它

getString(Clazz.FooBar.FOO);

它将返回您在属性文件中定义的内容。

关于java - Wicket 的枚举值国际化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11758316/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com