GWTENT 1.0 第一个RC版本发布,从本版本开始,所有包结构及主要的接口将会稳定下来。
GWTENT
主要为GWT提供反射Reflection,数据绑定(DataBinding),HTML模板,检验支持(Validation)及一个处于早期的AOP实现。
http://gwt-ent.googlecode.com/files/gwtent.1.0.0.RC1.zip
http://code.google.com/p/gwt-ent/
http://code.google.com/p/gwt-ent/wiki/UseReflection
Gwt延迟绑定介绍
Gwt的延迟绑定是一种gwt对反射机制的一种支持方案。简单的说就是在使用gwt进行代码开发的时候,可以使用接口和抽象类,而不用管它的实现,在编译后或者host模式的情况下,gwt会自己跟模块配置的信息来使用具体哪一个实现类替代代码中的接口和抽象类。
使用说明:
1.
定义接口或者抽象类,然后再定义一个实现类。
2. 在xxx.gwt.xml(模块文件中定义)替换的参数信息和具体替换的类
-
<replace-with class="com.google.gwt.user.client.impl.DOMImplMozilla">
-
<when-type-is class="com.google.gwt.user.client.impl.DOMImpl"/>
-
<when-property-is name="user.agent" value="gecko1_8"/>
-
</replace-with>
<replace-with class="com.google.gwt.user.client.impl.DOMImplMozilla"> <when-type-is class="com.google.gwt.user.client.impl.DOMImpl"/> <when-property-is name="user.agent" value="gecko1_8"/> </replace-with>
上面的配置是将在firefox浏览器里面使用DOMImpl该类的地方使用DOMImplMozilla这个类进行替换。其中的replace-with是指实际用到的类,when-type-is则是要替换的类,when-property-is则是一些参数信息,可以添加0到多个。另外,关于参数的配置还可以加一些逻辑的限制,如Any,
-
<any>
-
<when-property-is name="user.agent" value="gecko"/>
-
<when-property-is name="user.agent" value="gecko1_8" />
-
</any>
<any> <when-property-is name="user.agent" value="gecko"/> <when-property-is name="user.agent" value="gecko1_8" /> </any>
3.
在代码中使用
通过GWT.create方法可以动态的获取不同的实现类,如下:
DOMImpl impl = (DOMImpl)
GWT.create(DOMImpl.class);
再结合gwt的dom模块的配置信息(如下),impl对象将会根据不同的浏览器而动态采用不同的domimpl类的实现。
-
<module>
-
<inherits name="com.google.gwt.core.Core"/>
-
<inherits name="com.google.gwt.user.UserAgent"/>
-
-
<replace-with class="com.google.gwt.user.client.impl.DOMImplOpera">
-
<when-type-is class="com.google.gwt.user.client.impl.DOMImpl"/>
-
<when-property-is name="user.agent" value="opera"/>
-
</replace-with>
-
-
<replace-with class="com.google.gwt.user.client.impl.DOMImplSafari">
-
<when-type-is class="com.google.gwt.user.client.impl.DOMImpl"/>
-
<when-property-is name="user.agent" value="safari"/>
-
</replace-with>
-
-
<replace-with class="com.google.gwt.user.client.impl.DOMImplIE6">
-
<when-type-is class="com.google.gwt.user.client.impl.DOMImpl"/>
-
<when-property-is name="user.agent" value="ie6"/>
-
</replace-with>
-
-
<replace-with class="com.google.gwt.user.client.impl.DOMImplMozilla">
-
<when-type-is class="com.google.gwt.user.client.impl.DOMImpl"/>
-
<when-property-is name="user.agent" value="gecko1_8"/>
-
</replace-with>
-
-
<replace-with class="com.google.gwt.user.client.impl.DOMImplMozillaOld">
-
<when-type-is class="com.google.gwt.user.client.impl.DOMImpl"/>
-
<when-property-is name="user.agent" value="gecko"/>
-
</replace-with>
-
</module>
<module> <inherits name="com.google.gwt.core.Core"/> <inherits name="com.google.gwt.user.UserAgent"/> <replace-with class="com.google.gwt.user.client.impl.DOMImplOpera"> <when-type-is class="com.google.gwt.user.client.impl.DOMImpl"/> <when-property-is name="user.agent" value="opera"/> </replace-with> <replace-with class="com.google.gwt.user.client.impl.DOMImplSafari"> <when-type-is class="com.google.gwt.user.client.impl.DOMImpl"/> <when-property-is name="user.agent" value="safari"/> </replace-with> <replace-with class="com.google.gwt.user.client.impl.DOMImplIE6"> <when-type-is class="com.google.gwt.user.client.impl.DOMImpl"/> <when-property-is name="user.agent" value="ie6"/> </replace-with> <replace-with class="com.google.gwt.user.client.impl.DOMImplMozilla"> <when-type-is class="com.google.gwt.user.client.impl.DOMImpl"/> <when-property-is name="user.agent" value="gecko1_8"/> </replace-with> <replace-with class="com.google.gwt.user.client.impl.DOMImplMozillaOld"> <when-type-is class="com.google.gwt.user.client.impl.DOMImpl"/> <when-property-is name="user.agent" value="gecko"/> </replace-with> </module>
分享到:
相关推荐
NULL 博文链接:https://littie1987.iteye.com/blog/1750383
NULL 博文链接:https://zkf60553.iteye.com/blog/1315760
gwt 练习gwt 练习gwt 练习gwt 练习
Gwt中文手册,GWt入门Gwt中文手册,GWt入门Gwt中文手册,GWt入门
EXT-GWT2.0.1+API+DOC gwtdesigner Gwt-Ext基础-中级-进阶 GWT快速开发 GWT入门 GWT中文教程
fwefwefwGWT工具GWT工具GWT工具GWT工具GWT工具GWT工具
gwt 入门,是你开始学习gwt的大道 安装之后的目录结构为: C:\程序开发\Java\gwt-windows-1.4.59 doc(文档目录,开发文档和Java API文档) samples(示例代码目录,非常有名的KitchenSink示例代码即在此目录中)...
GWT(Google Web Toolkit) 是 Google 最近推出的一个开发 Ajax 应用的框架,它支持用 Java 开发和调试 Ajax 应用,本文主要介绍如何利用 GWT 进行 Ajax 的开发。 Ajax技术是当前开发web应用的非常热门的技术,也是Web...
很好的资源,在这边分享下,提供给想要寻找GWT资源的兄弟姐妹们 如果哪位兄弟有好的资源不要忘了分享啊
2. Hello GWT 3. 模块 4. JSNI 5. 在GWT中使用XML 6. GWT控件详解 7. 使用GWT控件 8. GWT-RPC 9. Ext GWT 10. (实战)俄罗斯方块游戏 11. (实战)费用申请审批流程 12. GWT与Flex整合 13. 图片缓存 CSS Sprite 14. ...
smartgwt最新版本GWT的DEMO 谷歌web工具箱实例
用Maven创建GWT_SmartGWT项目,从而可利用Maven进行管理,以及持续集成。
GWT的eclipse4.4离线开发插件,国内现在没有
GWT学习时的一些小例子,和大家分享,GWT学习时的一些小例子,和大家分享
基本概念及GWT结构及命令,开发等的介绍
这个文件是关于GWT开发的,属于入门级别的,GWT新手可以下载了看看。
gwt学习资料 java gwt相关学习网站 gwt图解 gwt教学 gwt安装部署 步骤流程
gwt-2.1.0
最新火狐浏览器GWT开发插件,离线安装。不用在线等待!
GWT-Ext 控件演示 GWT-Ext 控件演示