GWT多个模块可用于单独的HTML页面?
问题内容:
我是GWT的新手,打算使用GWT开发用于用户管理应用程序的UI。我打算使用通过Spring /
Hibernate创建的现有模块。我想出了如何将GWT与Spring集成在一起,但不确定如何设计布局。
我想要两页:
- 用户注册页面(要在HTML中嵌入GWT小部件)
- 管理页面(上面嵌入了GWT小部件的单独HTML)
- 我打算使用Spring Security,应该使用简单的JSP登录页面还是可以使用RIA GWT登录小部件?
我可以用于上述要求吗?多个GWT模块?
问题答案:
您可以制作2个模块,一个用于登录小部件,另一个用于管理小部件。每个小部件都会将其自己插入到所需HTML(或JSP)页面的div中。
例如,为每个模块创建一个*
.gwt.xml,例如:login.gwt.xml和admin.gwt.xml。这些文件都应在gwt软件包的根目录下创建,例如:com.gwt.example
。
接下来,为每个类创建一个“ Entry Point”类(每个类将实现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 javascript,该javascript知道会加载onModuleLoad,后者会使用id
=“ my-login-widget”查找div并插入登录小部件。
我从没使用过Spring
Security,因此没有太大帮助,除了本文看起来它可能描述了如何使Spring
Security通过Ajax工作。