`

GWT 模块间:组件管理 & 事件处理

    博客分类:
  • gwt
阅读更多


原始的gwt开发模式在大型项目或复杂页面中并不适用,这促使了Gwt Hostpage模块的诞生。

 

 1.简介 & Features

GWT Hostpage 设计意图是:将页面/模块 真正组件化,不同页面按需要把相应模块装载进来。

提供功能:a.创建组件:页面可以随便创建导入module的component
          b.订阅模块的事件:不同模块间,可以相互通信,发布时间与订阅。

 

2.核心 & Demo 

2.1  how to create a component
  1. public class Index implements EntryPoint {       
  2.       
  3.     public void onModuleLoad() {       
  4.       
  5.         //the ModuleName , like Login.gwt.xml    
  6.         String loginModuleName = "com.test.user.login.Login";       
  7.                
  8.         //new a container to set the component(widget)    
  9.         SubModuleContainer container = new SubModuleContainer();       
  10.       
  11.         //you can use construct args to chose which component to create    
  12.         String args[] = {"LoginForm"};       
  13.       
  14.         //arg : moduleName ,componentId ,container element ,construct args    
  15.         HostpageFacade.createComponent(loginModuleName, "LoginComponent",       
  16.                 container.getElement(), args);       
  17.                
  18.         //add the container in Index module    
  19.         RootPanel.get().add(container);       
  20.       
  21.     }       
  22. }       

构造一个组件非常简单:模块名,构造参数。同时,给创建了的组件一个id,以及要放置的位置。

 

       2.2 把组件创建工厂往hostpage中注册。以便以他模块能获得该factory而创建

2.2  how to registe a component factory in Hostpage module   
  1. public class Entry implements EntryPoint {       
  2.       
  3.     //       
  4.     Exporter exporter = (Exporter) GWT.create(Exporter.class);       
  5.       
  6.     //module name    
  7.     String compTypeName = GWT.getModuleName();       
  8.       
  9.     public void onModuleLoad() {       
  10.            
  11.         // new a component facotry    
  12.         LoginuserFactory factory = new LoginuserFactory();       
  13.       
  14.         // registe to Hostpage module    
  15.         HostpageFacade.registerComponentFactory(compTypeName, factory);       
  16.       
  17.     }       
  18.       
  19.     //the factory extend a ComponentFactory    
  20.     class LoginuserFactory extends ComponentFactoryImpl {       
  21.       
  22.         //over write the getModuleName    
  23.         protected String getModuleName() {       
  24.             return GWT.getModuleName();       
  25.         }       
  26.       
  27.         //overwrite , create the component in LoginModule    
  28.         protected Widget createComponent() {       
  29.       
  30.             LoginMain loginComponent = new LoginMain(super.args);       
  31.       
  32.             super.registerComponent(exporter.doExport(loginComponent),       
  33.                     loginComponent.getElement());       
  34.       
  35.             return loginComponent;       
  36.         }       
  37.     }       
  38.       
  39.     public interface Exporter extends IExporter {       
  40.         JavaScriptObject doExport(LoginUserService factory);       
  41.     }       
  42. }      
  43.   

把组件创建工厂往hostpage中注册。以便以他模块能获得该factory而创建

 3.url

http://code.google.com/p/macaufly-gwt-tool/downloads/list

分享到:
评论
3 楼 lanyerzz 2011-12-13  
      
2 楼 windlike 2008-11-25  
高人,此人只应天上有
1 楼 newersky168 2008-10-27  
编译项目报
java.lang.ClassNotFoundException: com.macaufly.gwt.exporter.rebind.ExporterGenerator
这个错误。
找了好久不知道是什么问题?

相关推荐

    gwt-polymer:使用聚合物的 GWT 模块

    我们正在尝试在这个项目中结合 GWT 和 Polymer: : (工作正在进行中)添加聚合物元素使用 Bower 安装新元素,例如core-toolbar元素: cd src/main/webapp/polymerbower install --save Polymer/core-toolbar使用--...

    使用 Cypal Studio for GWT 简化 Ajax 开发

    专为 Eclipse IDE 设计的 Cypal Studio for GWT 将支持对 GWT 结构的管理。了解如何使用 Cypal Studio for GWT 创建新的 GWT 模块,支持创建远程过程调用,并使您可以轻松地查看和部署 Web 应用程序。 Cypal Studio ...

    PrimeUI Widgets

    UI Components模块:提供拥有Rich Web用户体验的各种JSF组件,PrimeFaces提供的组件能够处理JavaScript Rendering在服务器端的集成问题。其中包括HtmlEditor、ImageCropper、Dialog、AutoComplete、 Flash based ...

    ModuleRecommender:GWT应用程序向学生推荐课程模块

    GWT应用程序向学生推荐课程模块 使用几种框架的Web应用程序 GWT 2.4 UiBudinder 杜松子酒,吉斯 I18N(服务器,客户端) 资源包,消息 要求工厂 GWTP 0.7(GWT平台) 动作,主持人 GXT 3.0 GXT,UiBuinder ...

    Java版水果管理系统源码-carballo:橡树国际象棋引擎

    Java版水果管理系统源码Carballo 国际象棋引擎 Carballo(加利西亚语中的 Oak,全是关于搜索树的)是一个开源 Java 国际象棋引擎,有两个接口: UCI:国际象棋图形用户界面的文本界面: HTML5:使用 Google Web ...

    flowlogix:适用于Shiro,PrimeFaces,GWT和Tapestry的Flow Logix JavaEE实用程序库

    Jakarta EE JSF JavaScript最小化的资源处理程序 实用程序(字符串/对象类型转换器,流读取器) Apache Shiro / Jakarta EE集成 消息 2020年12月8日:flowlogix-jee和flowlogix-datamodel版本4.0 进行重大重构,并...

    log4Net详解(共2讲)

    对于请求的不同状况,例如新的请求到达、待处理请求、超时未处理请求、员工工单发放提配、员工工单按时提交提醒、请求递交被处理状况等,系统都设定了多种提醒功能(短信通知-调用飞信WebService接口、QQ通知-调用QQ...

    pentaho-platform:Pentaho BA 服务器核心

    Quartz 的 pentaho 平台调度器实现扩展该模块包含用于平台内各种用途的各种功能用户控制台该模块是 pentaho 平台的 GWT 前端,允许用户导航存储库、执行和安排内容,以及管理平台组件该模块创建 Pentaho Server 档案...

    JAVA上百实例源码以及开源项目

    原理是初始化颜色选择按钮,然后为颜色选择按钮增加事件处理事件,最后实例化颜色选择器。 Java二进制IO类与文件复制操作实例 16个目标文件 内容索引:Java源码,初学实例,二进制,文件复制  Java二进制IO类与文件...

    JAVA上百实例源码以及开源项目源代码

    原理是初始化颜色选择按钮,然后为颜色选择按钮增加事件处理事件,最后实例化颜色选择器。 Java二进制IO类与文件复制操作实例 16个目标文件 内容索引:Java源码,初学实例,二进制,文件复制  Java二进制IO类与文件...

Global site tag (gtag.js) - Google Analytics