gwt资源包
我正在GWT中寻找捆绑属性文件的解决方案,就像在java.util.ResourceBundle中一样gwt资源包,gwt,resources,internationalization,Gwt,Resources,Internationalization,我正在GWT中寻找捆绑属性文件的解决方案,就像在java.util.ResourceBundle中一样 ResourceBundle messageBundle = ResourceBundle.getBundle(baseName.properties , new Locale(language)); Set<String> messagesKey = messageBundle.keySet(); Map<String, St
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));
}
ResourceBundle messageBundle=ResourceBundle.getBundle(baseName.properties,新语言环境(语言));
设置messagesKey=messageBundle.keySet();
Map messagesMap=newhashmap(messagesKey.size());
for(字符串键:messagesKey){
messagesMap.put(key,messageBundle.getString(key));
}
最接近它的是(但您无法从中获取密钥列表)或(但它不适用于*.properties文件,仅适用于js对象)要在客户端使用资源包,只需使用消息接口即可
1) 在客户端包中定义接口MyMessages
public interface MyMessages extends Messages {
String hello(String username);
String bye(String username);
String empty();
}
2) 例如,在接口MyMessages.properties和MyMessages\u 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();
}