GWT资源包

3

我正在寻找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));
        }
2个回答

3
最接近这个的东西是ContstantsWithLookup(但你无法从中获取键列表),或者Dictionary(但它不能使用*.properties文件,只能使用js对象)。

1

在客户端使用资源束只需使用Messages接口。

1)在客户端包中定义您的接口MyMessages

public 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();

}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接