您可以创建 2 个模块,一个用于登录小部件,另一个用于管理小部件。每个小部件都会将自己插入到您想要的 html(或 jsp)页面中的 div 中。
例如,为每个模块创建一个*.gwt.xml,例如:login.gwt.xml和admin.gwt.xml。这些文件都应该在 gwt 包的根目录下创建,例如:com.gwt.example
.
接下来,为每个创建一个“入口点”类(每个类将实现入口点)。例如,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
and 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 javascript,它知道加载 onModuleLoad,它会查找 id="my-login-widget" 的 div 并插入登录小部件。
我从未使用过 Spring Security,所以除了本文看起来它可能描述了如何让 Spring Security 通过 ajax 工作。