原始的gwt开发模式在大型项目或复杂页面中并不适用,这促使了Gwt Hostpage模块的诞生。
1.简介 & Features
GWT Hostpage 设计意图是:将页面/模块 真正组件化,不同页面按需要把相应模块装载进来。
提供功能:a.创建组件:页面可以随便创建导入module的component
b.订阅模块的事件:不同模块间,可以相互通信,发布时间与订阅。
2.核心 & Demo
2.1 how to create a component
- public class Index implements EntryPoint {
-
- public void onModuleLoad() {
-
-
- String loginModuleName = "com.test.user.login.Login";
-
-
- SubModuleContainer container = new SubModuleContainer();
-
-
- String args[] = {"LoginForm"};
-
-
- HostpageFacade.createComponent(loginModuleName, "LoginComponent",
- container.getElement(), args);
-
-
- RootPanel.get().add(container);
-
- }
- }
构造一个组件非常简单:模块名,构造参数。同时,给创建了的组件一个id,以及要放置的位置。
2.2 把组件创建工厂往hostpage中注册。以便以他模块能获得该factory而创建
2.2 how to registe a component factory in Hostpage module
- public class Entry implements EntryPoint {
-
-
- Exporter exporter = (Exporter) GWT.create(Exporter.class);
-
-
- String compTypeName = GWT.getModuleName();
-
- public void onModuleLoad() {
-
-
- LoginuserFactory factory = new LoginuserFactory();
-
-
- HostpageFacade.registerComponentFactory(compTypeName, factory);
-
- }
-
-
- class LoginuserFactory extends ComponentFactoryImpl {
-
-
- protected String getModuleName() {
- return GWT.getModuleName();
- }
-
-
- protected Widget createComponent() {
-
- LoginMain loginComponent = new LoginMain(super.args);
-
- super.registerComponent(exporter.doExport(loginComponent),
- loginComponent.getElement());
-
- return loginComponent;
- }
- }
-
- public interface Exporter extends IExporter {
- JavaScriptObject doExport(LoginUserService factory);
- }
- }
-
把组件创建工厂往hostpage中注册。以便以他模块能获得该factory而创建
3.url
http://code.google.com/p/macaufly-gwt-tool/downloads/list
分享到:
相关推荐
- **基于组件的UI**:GWT提供了丰富的用户界面组件,如表格、按钮、面板等,可以方便地构建复杂的界面布局。 - **异步通信**:GWT支持AJAX,允许无刷新的页面更新和服务器通信。 - **本地化支持**:内置的国际化...
- **入口点(EntryPoint)**: 每个GWT模块都有一个主类,这个类必须实现`com.google.gwt.user.client.rpc.EntryPoint`接口,并且有一个`onModuleLoad()`方法作为应用程序的启动点。 2. **开发流程**: - 使用Java...
1. **模块化**:了解GWT模块系统,如何创建和管理多个模块,以及如何在模块间共享代码。 2. **本地化**:学习GWT的本地化支持,包括多语言资源文件的创建和使用,以适应不同地区的用户需求。 3. **History和...
5. **事件处理**:GWT中的事件处理机制允许用户与界面交互。你可以通过添加事件监听器来响应用户的点击、键盘输入等操作。 6. **RPC通信**:GWT的Remote Procedure Call (RPC)机制使得客户端和服务器之间能进行数据...
我们正在尝试在这个项目中结合 GWT 和 Polymer: : (工作正在进行中)添加聚合物元素使用 Bower 安装新元素,例如core-toolbar元素: cd src/main/webapp/polymerbower install --save Polymer/core-toolbar使用--...
3. 创建GWT模块:创建一个GWT模块,它相当于一个页面,每个模块都有一个module名.gwt.xml文件,该文件中定义了这个页面需要使用到的所有的资源。 4. 编写GWT代码:使用Java语言编写GWT代码,定义界面和逻辑。 5. ...
8. **模块化系统**:GWT应用由多个模块组成,每个模块包含特定的功能,这使得代码组织更加清晰,便于维护和扩展。 9. **性能优化**:GWT的编译器会进行一系列优化,包括死代码消除、代码压缩、按需加载等,以减少...
事件处理是GUI编程的关键部分,书中详细解释了Ext GWT中的事件模型,如何注册事件监听器,以及如何处理各种用户交互事件。同时,书中还介绍了表单处理,包括字段验证、表单提交和响应处理,这对于构建用户输入密集型...
6. **事件处理**:学习如何在GWT中处理用户事件,如点击事件、键盘事件等,以及如何在Presenter中响应这些事件。 7. **GWT编译和调试**:理解GWT的编译过程,包括如何生成优化的JavaScript代码,以及如何在浏览器中...
3. **APIs**:GWT提供了大量JavaScript库,包括UI组件、事件处理、国际化、数据绑定、异步RPC通信等,这些APIs都是用Java封装的,方便开发者使用。 4. **Widget库**:GWT包含一个丰富的Widget库,涵盖了从按钮、...
GWT采用了一种类似于AWT/Swing的事件处理模型,支持多种事件类型: - **Click Events**:处理按钮点击事件。 - **Change Events**:处理表单字段更改事件。 - **Key Events**:处理键盘输入事件。 - **Mouse Events...
Java 源码:网页表格组件 GWT Advanced Table 是一个基于 Google Web Toolkit(GWT)开发的高级表格组件。GWT 是一个用于构建富互联网应用程序(RIA)的开放源码框架,它允许开发者使用 Java 语言来编写客户端的 ...
2. **GWT 模块系统**: GWTDemo项目很可能由一个或多个GWT模块组成,每个模块定义了应用的一个部分。模块可以通过导入其他模块来共享代码,并且可以通过.gwt.xml配置文件进行定制。 3. **用户界面组件**: GWT提供了...
中级阶段可能涵盖事件处理、数据绑定、异步通信(RPC)和模块化;进阶内容可能包括自定义组件开发、性能优化以及EXT-GWT的高级特性。 “GWT快速开发”这部分教程则专注于提高开发效率,可能包含了GWT的开发工具、...
这些文档是开发者学习和查找GWT相关功能的重要参考,比如Widget库(包含各种UI组件)、History类(用于处理浏览器的历史记录)、EventBus(事件总线)以及RequestBuilder(用于异步HTTP请求)等。 4. **编译与优化*...
7. **模块化**:GWT项目可以被划分为多个模块,方便管理和维护。 **GWT的使用流程:** 1. **创建项目**:使用GWT SDK和IDE创建一个新的GWT项目,定义项目的模块和依赖。 2. **编写Java代码**:在项目中编写Java类...
5. **GWT EventBus**:事件总线机制,让组件间通信变得简单,提高代码解耦度。 6. **GWT RequestBuilder** 和 **GWT Elemental**:提供更灵活的HTTP请求处理方式,包括RESTful服务的调用。 7. **GWT Compile ...
3. **事件处理**:GWT支持事件驱动编程,允许你为UI组件添加事件监听器,处理用户的交互行为。例如,点击按钮触发一个函数,提交表单等。 4. **数据绑定**:GWT的Data Binding机制使你可以方便地将UI组件的状态与...
1. **GWT模块和项目结构**:解释如何设置GWT项目,包括构建路径、源代码组织、模块配置文件(gwt.xml)等。 2. **Widget库**:详述GWT提供的各种UI组件,如Button、TextBox、Panel等,以及如何在HTML布局中使用它们...