Как перезагрузить веб-страницу в GWT - PullRequest
4 голосов
/ 13 февраля 2010

Как перезагрузить веб-страницу в GWT? Я хочу перезагрузить страницу после того, как пользователь вошел в систему, и тогда он покажет личный статус в верхней части страницы. Есть идеи как?

Большое спасибо.

Ответы [ 3 ]

29 голосов
/ 13 февраля 2010

Window.Location.reload() перезагрузит страницу, но я уверен, что перезагрузка страницы - это не то, что вам нужно.

Возможно, вы просто хотите обновить некоторые части страницы, чтобы обновить их после входа в систему.

Причина в том, что перезагрузка страницы приведет к повторной загрузке JavaScript и изображений на странице, что является большим трафиком только для обновления пользовательского интерфейса.

3 голосов
/ 13 февраля 2010

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

Здесь обсуждается .

1 голос
/ 15 февраля 2010

Я предлагаю создать div специально для этой области отображения на вашей HTML-странице. Например, в вашем HTML-файле:

<div id="header"></div>
<div id="userStats"></div>
<div id="content"></div>
... the rest of our page

Как бы вы ни ловили, когда кто-то вошел в систему (база данных, EventBus и т. Д.), Просто обновите эту единственную панель следующим образом:

RootPanel statsPanel = RootPanel.get("userStats");
statsPanel.clear();
statsPanel.add(new StatsPanel());  

Возможно, вы создаете StatsPanel с помощью UiBinder.

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