2009-12-14 2 views
5

Я совершенно новичок в GWT и собираюсь разработать пользовательский интерфейс для пользовательского приложения с использованием GWT. Я планирую использовать существующий модуль, созданный с использованием Spring/Hibernate. Я понял, как интегрировать GWT с Spring, но я не уверен, как спроектировать макет.GWT несколько модулей для отдельных HTML-страниц?

Я хочу две страницы:

  1. страницы регистрации пользователя (хотят возможность размещения GWT виджета в HTML)
  2. страницы администрирования (отдельный HTML как выше GWT виджет встроенного)
  3. Я строгание использовать Spring Security, следует ли использовать простую страницу входа в JSP или использовать виджет входа в RIA GWT?

Что я могу использовать для вышеуказанных требований? несколько модулей GWT?

ответ

12

Вы можете сделать 2 модуля, один для виджета входа и еще один для виджета администратора. Каждый виджет будет вставлять себя в div в зависимости от любой html (или jsp) страницы, которую вы хотите.

Например, создайте * .gwt.xml для каждого модуля, например: login.gwt.xml и admin.gwt.xml. Эти файлы должны быть созданы в корневом каталоге вашего gwt, например: com.gwt.example.

Далее, создайте класс «Точка входа» для каждого (каждый класс будет реализовывать EntryPoint). Например, Login.java может выглядеть следующим образом:

package com.gwt.example.myproject.client; 

public class Login implements EntryPoint { 

    public void onModuleLoad() { 
    ... create loginWidget .. 

    RootPanel.get("my-login-div").add(loginWidget); 

    } 

} 

Итак, теперь, когда вы делаете GWT компиляции, то нужно создать кучу файлов под war/com.gwt.example. Эти два вас интересуют: com.gwt.example.login.nocache.js и com.gwt.example.admin.nocache.js.

Теперь вы можете добавить эти два js-скрипта на любую страницу html и/или jsp по мере необходимости.

Чтобы завершить пример, можно добавить следующий HTML, чтобы добавить логин виджета:

<html> 
....other stuff... 
<script type="text/javascript" language="javascript" src="com.gwt.example.login.nocache.js"></script> 
....other stuff.... 
<div id="my-login-widget"></div> 
....the rest of your html markup.... 
</html> 

Таким образом, при просмотре этой страницы HTML, он загружает скомпилированный GWT яваскрипт, который знает, чтобы загрузить onModuleLoad, который ищет div с id = "my-login-widget" и вставляет виджет входа.

Я никогда не пользовался Spring Security, поэтому не может быть много помощи, кроме this article похоже, что он может описать, как заставить Spring Security работать над ajax.

+0

спасибо. что помогло много! –

1

Вы можете создать два модуля или использовать только один.

Недавно я создал приложение, в котором была только одна страница, и сначала была показана панель входа в систему, как внутреннее диалоговое окно. Когда сеанс истек, пользователю было предложено снова ввести свои учетные данные. Но я собирался использовать 100% -ный вариант обновления страницы. Это хорошо, но недостатком является то, что браузеру придется загружать все заранее. Ну ... по крайней мере до GWT 2.0.

Смежные вопросы