Я пытаюсь интегрировать, Seam и GWT. Мне было интересно, может ли указывать html-страницы в потоке страницы Seam. Является ли это возможным ? Если да, то на что будет указано название на траншеве?Перемещение страницы Seam GWT
ответ
Мы также используем комбинацию потока страниц шва и GWT. В явной форме мы разделим страницу входа на главной странице, чтобы разрешить вход через https. Но мы не используем обычные html-страницы, мы по-прежнему используем xhtml-страницы. Вы можете включать в HTML-страницу GWT в пределах страницы Xhtml Seam обертывания <html></html>
пара с <f:view></f:view>
парой:
<f:view
contentType="text/html"
xmlns="http://www.w3.org/1999/xhtml"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:s="http://jboss.com/products/seam/taglib"
xmlns:ui="http://java.sun.com/jsf/facelets">
<html>
<!-- ... -->
</html>
</f:view>
С помощью такой Seam завернутых HTML-страницы, вы не имеете никаких проблем для определения переходов страниц.
Как уже указывал Питер Кнего, рекомендуется использовать разные модули GWT для разных (x) html-страниц.
Обычно GWT является заявкой на стороне клиента. Это означает, что вы запускаете все приложение на одной странице html. Браузер никогда не перезагружает эту страницу. Если браузер перезагрузит эту страницу, тогда состояние внутреннего приложения будет потеряно (переменные и т. Д.).
Теперь вы можете создать приложение GWT с несколькими html-страницами. Обычно вы создаете разные модули GWT и загружаете их на отдельные html-страницы. Плагин Eclipse создает страницу хоста для каждого модуля.
Вы можете создать обычное приложение Seam, просто скопируйте необходимые строки с хост-страниц GWT на ваши страницы «Seam».
Просто имейте в виду, что эти отдельные модули GWT не имеют между ними никакого состояния.
Отредактировано:
Вы можете отобразить Seam поток страниц в GWT Кнопки, такие, что при нажатии на кнопку приведет вас к следующей странице в pageflow:
- Создание кнопки GWT с OnClick обработчик, который содержит Window.Location.assign(URL). Нажатие на эту кнопку откроет данный URL на текущей странице браузера.
- Сделать URL страниц страниц страниц Seam удобочитаемыми. Я считаю (не эксперт по этому поводу) это делается с атрибутом
view-id="page_url"
внутри элемента<page>
.
Это ручной процесс (не безопасный тип), который полагается на вас, правильно сопоставляя идентификатор вида с URL-адресами в кнопках. Изменение с одной стороны потребует, чтобы вы вручную исправили другую сторону. Чтобы сделать жизнь немного легче, вы можете сделать функцию, которая добавляет слушателя к Button (или любому другому элементу в GWT).
Это зависит от того, чего вы пытаетесь достичь. То есть, планируете ли вы создавать настольные приложения, такие как одностраничное приложение, где большая часть состояния хранится клиентом или основная логика, а также страницы html предоставляются сервером.
Если вы идете на настольный компьютер, как приложение, вы, вероятно, полностью создадите клиентскую сторону своего приложения с помощью GWT. Для первоначального запроса Seam возвращает простую html-страницу, которая извлекает .nocache.js
, которая в свою очередь загружает скомпилированный основной сценарий .cache.html
вашего приложения. Отсюда GWT берет на себя (начиная с onModuleLoad()
в EntryPoint
загруженного модуля) и создает весь макет вашего приложения, заменяя тег <body>
на возвращаемой странице html.Пользовательские взаимодействия и состояние синхронизируются через сервер, но рендеринг выполняется GWT.
Если вы идете на комбинацию Seam и JSF, вы все равно можете воспользоваться GWT. Обычный сценарий - выборочно вставлять виджеты GWT в определенные места на существующей странице html (подробности см. В here). Таким образом, вы можете использовать Seam для рендеринга, потока страниц и т. Д. И расширять ваши страницы с помощью виджетов GWT.
BTW, если вам нужен SSL для регистрации и/или аутентификации пользователя (и автоматическое заполнение формы!) Я настоятельно рекомендую сделать это, как рекомендовано @kraftan. Все остальное - боль.
- 1. Интеграция SEAM GWT
- 2. gwt seam application question
- 3. С какими версиями GWT работает Seam?
- 4. интеграция GWT с CDI (Seam/Weld)
- 5. Перемещение между модулями GWT
- 6. Перемещение страницы
- 7. Как вы используете параметры страницы Seam?
- 8. Перенаправление другой страницы при загрузке страницы в Seam Framework
- 9. Разбиение страницы в GWT
- 10. Сложность веб-страницы GWT
- 11. Перемещение страницы в IE11
- 12. Перемещение страницы слайдов
- 13. Перемещение страницы изображения Ajax
- 14. Перемещение виджетов на лету с использованием GWT?
- 15. Перемещение событий мыши между панелями GWT
- 16. Ошибка страницы с ошибкой страницы GWT
- 17. SEAM pages.xml Условный редирект
- 18. Injection From Pages.xml (Seam)
- 19. Seam - Interceptors
- 20. Вызов GWT с страницы jsp
- 21. Перемещение по деталям Страницы Recordset
- 22. Перемещение страницы с жидкостью jQuery
- 23. Перемещение страницы при вклеивании предметов
- 24. Перемещение DIV дальше вниз страницы
- 25. Перемещение между Пользователем управления Страницы
- 26. Перемещение с страницы Silverlight Child
- 27. Seam неожиданный вызов createInstance
- 28. Безопасность и параметр GET или параметр страницы в Seam/JSF
- 29. Перенаправление на ViewExpiredException параметры страницы для Seam 2.2.0
- 30. Перемещение gwt 2.4 приложение к gwtp - хорошая идея?
не могли бы вы помочь мне с простым примером вашего кода. –
Меня особенно интересует, как вы сопоставляете действия перехода по потоку страницы с действиями кнопки gwt. –
@ Если вы не можете сопоставить поток страниц с кнопкой GWT. Связь между клиентом GWT и сервером Seam проходит через вызовы async GWT-RPC. Шов обрабатывает thosecalls с GWTService. Как отметили @ z00bs и @Peter Knego, используя приложение GWT, вы не переключаетесь между разными страницами. Мы используем переходы страницы Seam, чтобы решить, какая часть нашего приложения GWT предоставляется клиенту. Если клиент уже зарегистрирован, мы делаем main.xhtml иначе home.xhtml. Для получения дополнительной информации о Seam + GWT читайте http://docs.jboss.org/seam/2.2.0.GA/reference/en-US/html/gwt.html – kraftan