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

Ash*_*iya 5 java gwt spring-mvc

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

我想要两页:

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

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

Upg*_*ave 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);

  }

}
Run Code Online (Sandbox Code Playgroud)

所以,现在,当你进行gwt编译时,它应该创建一堆文件war/com.gwt.example.你感兴趣的两个是com.gwt.example.login.nocache.jscom.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>
Run Code Online (Sandbox Code Playgroud)

所以,当你浏览到这个html页面时,它会加载已编译的gwt javascript,它知道加载onModuleLoad,它会查找id为"my-login-widget"的div并插入登录小部件.

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