我对GWT很新,并且正在使用GWT为用户管理应用程序开发UI。 我打算使用使用Spring / Hibernate创建的现有模块。我想出了如何将GWT与Spring集成,但我不确定如何设计布局。
我想要两页:
我可以将哪些用于上述要求?多个GWT模块?
答案 0 :(得分:12)
您可以创建2个模块,一个用于登录窗口小部件,另一个用于管理窗口小部件。每个小部件都会将自己插入到您想要的任何html(或jsp)页面的div中。
例如,为每个模块创建一个* .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 javascript,它知道加载onModuleLoad,它会查找id为“my-login-widget”的div并插入登录小部件。
我从来没有使用过Spring Security,所以除了this article看起来它可能会描述如何让Spring Security在ajax上工作之外,没有多大帮助。
答案 1 :(得分:1)
您可以创建两个模块或仅使用一个模块。
我最近创建了一个只有一个页面的应用程序,首先显示了登录面板,就像一个内部对话框。会话过期后,系统会提示用户再次输入其凭据。但我打算采用100%无页面刷新的方法。这很好,但缺点是浏览器必须预先下载所有内容。好吧......至少在GWT 2.0之前。