Конфигурация серверной стороны для GWT

document.body.style.display = 'none';
document.body.style.display = 'block';

Это часто решает те непостижимые ошибки расположения.

6
задан Toji 23 September 2009 в 16:34
поделиться

3 ответа

Не стесняйтесь поправлять меня, но похоже, что вам не нужна конфигурация на стороне сервера во время выполнения. В случае, если вам действительно нужна такая гибкость или вы хотите использовать один .zip для всех развертываний, вы можете использовать технику, описанную в Правилах производительности Yahoo - (см. Раздел «Добавление истечения срока действия или контроля кэша»). Header) '- заголовки истекают в далеком будущем. Это означает, что запрос AJAX будет сильно кэшироваться браузером и вызовет лишь незначительное замедление при первом запросе.

Вместо этого я бы фактически предложил использовать флаги времени компиляции и систему свойств, которую предлагает GWT. Чтобы упростить это, я сделал небольшой пакет под названием auto-config, доступный на github . Использование этого упрощает доступ к конфигурации развертывания. Добавьте следующий класс:

public interface MyConfiguration extends AutoConfiguration {
    public String getFoobar();
}

Чтобы получить доступ к значению из кода GWT, добавьте этот простой помощник:

private MyConfiguration getMyConfiguration() {
    return (MyConfiguration) GWT.create(MyConfiguration.class);
}

Создайте несколько разных файлов .gwt.xml, по одному для каждого сервера развертывания. Затем минимизируйте любое дублирование, используя родительский файл .gwt.xml. Для получения дополнительной информации по этой теме прочтите CompileOnePermutation в GWT Wiki.

В итоге добавьте следующий фрагмент в файл .gwt.xml для каждого развертывания (и обязательно добавьте необходимую строку наследования):

<set-configuration-property name="foobar" value="whee1234" />

Hope чтобы помогли :)

5
ответ дан 11 December 2019 в 00:40
поделиться

Самый простой способ - сохранить эту информацию о конфигурации где-нибудь, доступном для кода сервера , т.е. ServiceImpl классы.

У вас есть несколько вариантов для этого, обычно:

  • установить переменную среды;
  • установить системное свойство;
  • поместить файл свойств в путь к классам;
  • ] найдите компонент JNDI.
1
ответ дан 11 December 2019 в 00:40
поделиться

Я немного запутался в том, о чем вы просите.

Если вы хотите скомпилировать один раз, запустить приложение GWT на разных серверах с разными параметрами и иметь параметры будут использоваться на стороне клиента во время создания графического интерфейса пользователя, есть несколько параметров.

Получите информацию в своей программе, используя:

  • Переменная среды
  • Системное свойство
  • И т. д.

Получить информацию на клиентскую сторону:

  • AJAX-вызов файла (как вы указали)
  • Обслуживайте ваш графический интерфейс из JSP вместо статического HTML. Попросите JSP встроить информацию в переменную JS, к которой ваш графический интерфейс может получить доступ с помощью вызова JSNI. Это сэкономит вам время на поездку туда и обратно.
1
ответ дан 11 December 2019 в 00:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: