комплект ресурсов gwt - PullRequest
       10

комплект ресурсов gwt

3 голосов
/ 09 февраля 2012

Я ищу решение в 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 голосов
/ 09 февраля 2012

Ближайшим к нему является ContstantsWithLookup (но вы не можете получить список ключей из него) или Словарь (но он не работает с файлами * .properties,только с объектами js)

1 голос
/ 07 декабря 2012

Чтобы использовать пакет ресурсов на стороне клиента, просто используйте интерфейс сообщений.

1) Определите ваш интерфейс MyMessages в клиентском пакете

public interface MyMessages extends Messages {
    String hello(String username);
    String bye(String username);
    String empty();

}

2) Например, создайте файл свойств \ files рядом с вашим интерфейсом 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();

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...