Домашняя страница GWT для входа на страницу с примером приложения, перенаправляющим проблему - PullRequest
2 голосов
/ 17 февраля 2012

Я действительно борюсь с этим - я проверил все остальные страницы переполнения стека, и хотя это может показаться дублирующим вопросом, НЕТ других ответов, которые я могу найти где-либо, кроме возможности использования нескольких модулей (даже если это не кажется исправить)

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

Теперь я реализовал небольшие тестовые проекты с несколькими JSP для перенаправления, используя Window.Location.replace ("..."), но тогда я понятия не имею, как на самом деле заполнить эту конкретную страницу тем, что я хочу заменить .

Только из одного приложения GWT можно получить полную веб-страницу в статических файлах HTML (или даже JSP, которые мне не нужны), страницу входа в систему и само приложение.

А если это так, как ты это делаешь?

Я использую RootLayoutPanel.get () для загрузки моего основного приложения - откуда он знает, какой RootLayoutPanel фактически используется - я потратил часы на борьбу с этим, и многие учебные пособия / ответы на вопросы не дают большая глубина относительно того, как на самом деле идти о реализации чего-либо. Очевидно, что-то мне просто не хватает

Я хочу сделать что-то в точности как пример в витрине: https://www.blueworkslive.com/#!gettingStarted:overview

Если вы используете chrome и проверяете теги на каждой странице там, где написано GWT 2.4, то я определенно не похож на один ответ, в котором говорилось: «Не используйте GWT для входа в систему». Кажется, это должно быть что-то простое, что я просто ... не нахожу или честно не получаю ни от одного из примеров.

Это близко к последнему этапу моего проекта, и любая помощь по этому вопросу будет принята с благодарностью.


Я использую Apache Shiro с GAE, Objectify для базы данных и RequestFactory - есть только одна основная html-страница, и приложение просто вызывает getRootLayoutPanel для загрузки приложения. не уверен, что это полезно.

реализация страницы - не проблема, а просто перенаправление

1 Ответ

1 голос
/ 17 февраля 2012

Чтобы войти в GAE, через учетную запись Google или федеративный вход, вам нужно перенаправить пользователя на страницу входа.Так как вы запускаете GWT, который обычно имеет только одну страницу, у вас есть два варианта:

  1. Выполнить обычное перенаправление на страницу входа - в этом случае браузер перейдет на страницу входа и вы потеряетеСостояние приложения GWT.После входа вы можете быть перенаправлены обратно в приложение GWT.Как уже говорилось - состояние приложения GWT будет потеряно.Это простой способ.

  2. Откройте страницу входа в систему в дочернем окне или в фрейме.Установите целевой URL для страницы, которая закрывает окно (на самом деле он должен установить родительский хук javascript, который вызывает эта целевая страница).Когда вход в систему завершен, целевая страница вызывает JS-хук, который уведомляет родительскую страницу о завершении процедуры входа, закрывает дочернее окно / iframe и продолжает.Это более сложно, некоторые страницы входа не любят iframes (в случае входа в систему OpenID), но они сохраняют состояние вашего приложения GWT.

Чтобы ответить на ваш вопрос:

Да, возможно иметь несколько страниц в проекте GWT (страницы / модули GWT и статические файлы).Конечно, при переходе от страницы к странице вы потеряете состояние приложения.Модуль GWT активен только до тех пор, пока страница загружена в браузер.

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