Проблема с многократными Точками в том же модуле

Для веб-приложения вы можете просто установить cookie в ответе:

res.cookie("key", value);

и удалить cookie:

res.clearCookie("key");
9
задан JohnIdol 30 May 2009 в 12:28
поделиться

6 ответов

Правильный способ - иметь одну точку входа для каждого модуля, которая вставляет соответствующие виджеты в соответствующие div:

RootPanel panel = RootPanel.get("someHomeWidget");
if (panel) panel.add(new HomeWidget());

panel = RootPanel.get("adminWidget");
if (panel) panel.add(new AdminWidget());

Таким образом, он просто сканирует страницу в поисках любых имеющихся у вас div и вставляет соответствующий виджет. Таким образом, ваша HTML-страница определяет, какие виджеты будут отображаться, и код GWT готов обработать любую ситуацию. В приведенном выше нет ничего плохого, это то, как должна быть написана ваша точка входа.

Альтернатива - если ваша административная область и обычная область совершенно разные (например, вы хотите загружать их в разное время), тогда они должны быть отдельные модули с отдельными точками входа.

8
ответ дан 4 December 2019 в 13:49
поделиться

Не считайте админ и домашнюю страницу разными страницами. Концепция страниц не применима к GWT, так как существует только одна отдельная страница, то есть одна точка входа. Если вы хотите создать эффект разных страниц, используйте функции перезаписи URL в GWT.

Если вы действительно хотите использовать разные точки входа, то, как сказано в комментарии выше, используйте разные модули.

1
ответ дан 4 December 2019 в 13:49
поделиться

Обычно лучше иметь только одну точку входа. Несколько EntryPoints в одном модуле запускаются одновременно, и иногда это может делать вещи, которых вы не ожидали.

У вас есть множество вариантов, как обрабатывать их по отдельности: - Есть 2 разных компиляции: одна для администратора и одна для домашнего приложения. - Используйте токены истории, чтобы указать, что вы хотите Admin или Home - Проверьте переменную JS, чтобы отобразить ту или иную - Проверьте наличие определенного идентификатора DIV для отображения Admin или Home (RootPanel.get (id)) - Используйте параметры URL, чтобы указать приложение. - ... и т.д.

1
ответ дан 4 December 2019 в 13:49
поделиться

I have a solution for this on my blog. You can download a sample maven project that has multiple entry points and uses url-rewriting. Take a look: http://zenoconsulting.wikidot.com/blog:16

0
ответ дан 4 December 2019 в 13:49
поделиться

Я также хотел использовать несколько страниц в игрушечном приложении GWT, и я думаю, что понял это. Потребовалось некоторое изменение дескриптора развертывания (myApp.gwt.xml), но вот что я сделал.

  • Создал другой класс, реализующий EntryPoint, и добавил код, который добавлялся в div только на новой странице.
  • Скопировал исходный файл gwt.xml и изменил две вещи:
    • Переименовать модуль в - я изменил на «anothergwtapp»
    • Точка входа задала новый класс.
  • Когда я компилирую проект, в папке «war» есть еще один каталог (подождите это ...) "anothergwtapp". Он содержал «anothergwtapp.nocache.js», который является магией GWT.
  • Наконец, я скопировал исходную HTML-страницу и заменил «stockwatcher / stockwatcher.nocache.js» на «anothergwtapp / anothergwtapp.nocache.js» ( да, я новичок - учебник все еще на моей машине)
    • Я изменил новый HTML, чтобы он немного отличался (новые блоки div для загрузки новой точки входа для заполнения), и я добавил простой href на новую страницу на первой странице.

Это сработало. Просто продублируйте gwt.xml и укажите новое имя для модуля, которое будет отображаться вместе с новой страницей приложения. Я просмотрел некоторые другие ссылки и, возможно, действительно сделал то, что было описано, но было слишком много слов, перенаправлений и тому подобного (т.е. я действительно ничего не читал). Я использую последний плагин GWT для Galileo, так что, возможно, сейчас IJWs.

4
ответ дан 4 December 2019 в 13:49
поделиться

Вы уже пробовали этот фреймворк? http://gwtmultipage.org/ Клавдий

0
ответ дан 4 December 2019 в 13:49
поделиться
Другие вопросы по тегам:

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