用于单独HTML页面的GWT多模块?
我是GWT的新手,并且正在使用GWT为用户管理应用程序开发UI。 我打算使用使用Spring / Hibernate创建的现有模块。 我想出了如何将GWT与Spring集成,但我不确定如何设计布局。
我想要两页:
- 用户注册页面(想在HTML中嵌入GWT小部件)
- 管理页面(如上所述单独的HTML,嵌入了GWT小部件)
- 我计划使用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.js
和com.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之前。