我正在寻找GWT中的解决方案来捆绑属性文件,就像我在java.util.ResourceBundle中那样
ResourceBundle messageBundle = ResourceBundle.getBundle(baseName.properties , new Locale(language));
Set<String> messagesKey = messageBundle.keySet();
Map<String, String> messagesMap = new HashMap<String, String> (messagesKey.size());
for (String key : messagesKey) {
messagesMap.put(key, messageBundle.getString(key));
}
答案 0 :(得分:3)
最接近它的是ContstantsWithLookup(但你无法从中获取密钥列表)或Dictionary(但它不适用于* .properties文件,仅适用于js对象)
答案 1 :(得分:1)
要在客户端使用资源包,只需使用Messages接口。
1)在客户端软件包
中定义接口MyMessagespublic interface MyMessages extends Messages {
String hello(String username);
String bye(String username);
String empty();
}
2)例如,在界面MyMessages.properties和MyMessages_ru.properties旁边创建属性文件\文件。属性键必须等于方法名称。
hello=Hello {0}, how are you?
bye=Bye-bye {0}!
empty=Just message!
3)在gwt模块中创建消息对象
MyMessages messages = GWT.create(MyMessages .class);
4)使用消息
new AlertMessageBox("", messages.empty()).show();
您也可以在界面代码中通过注释定义默认消息,例如
public interface MyMessages extends Messages {
@DefaultMessage("Hello {0}, how are you?")
String hello(String username);
@DefaultMessage("Bye-bye {0}!")
String bye(String username);
@DefaultMessage("Just message!")
String empty();
}