用于单独HTML页面的GWT多模块?

我是GWT的新手,并且正在使用GWT为用户管理应用程序开发UI。 我打算使用使用Spring / Hibernate创建的现有模块。 我想出了如何将GWT与Spring集成,但我不确定如何设计布局。

我想要两页:

  1. 用户注册页面(想在HTML中嵌入GWT小部件)
  2. 管理页面(如上所述单独的HTML,嵌入了GWT小部件)
  3. 我计划使用Spring Security,我应该使用简单的JSP登录页面还是可以使用RIA GWT登录小部件?

我可以用什么来满足上述要求? 多个GWT模块?

您可以创建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.jscom.gwt.example.admin.nocache.js

现在,您可以根据需要将这两个js脚本添加到任何html和/或jsp页面中。

要完成该示例,您可以添加以下html以添加登录小部件:

  ....other stuff...  ....other stuff.... 
....the rest of your html markup....

因此,当您浏览到这个html页面时,它会加载已编译的gwt javascript,它知道要加载onModuleLoad,它会查找id为“my-login-widget”的div并插入登录小部件。

我从来没有使用过Spring Security,所以除了这篇文章看起来可能会描述如何让Spring Security在ajax上工作之外,它不会有太多帮助。

您可以创建两个模块或仅使用一个模块。

我最近创建了一个只有一个页面的应用程序,首先显示了登录面板,就像一个内部对话框。 会话过期后,系统会提示用户再次输入其凭据。 但我打算采用100%无页面刷新的方法。 这很好,但缺点是浏览器必须预先下载所有内容。 好吧……至少在GWT 2.0之前。