Вы можете сделать 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.
спасибо. что помогло много! –