(1) 範例一:使用外部的javascript library 來做MD5
首先在html檔中引用javascript檔案:
<script language="javascript" src="http://pajhome.org.uk/crypt/md5/md5.js">
</script>
然後定義一個新class,並利用JSNI宣告member function:
public class MD5 {
public native static String getHexHMACMD5(String password, String challenge )
/*-{
return hex_hmac_md5(password, challenge)
}-*/;
}
注意:JSNI語法要用/*- 以及 -*/ 包裝起來。
上面的程式碼將js的一個function包裝(warp)成一般的java function,這樣就可以用下列方式來存取:
String hash = MD5.getHexHMACMD5( password.getText(), challenge );
(2) 範例二:Google Map - 使用外部的javascript library來建立user interface
同樣需要在HTML檔案中引用js檔:
<script src="http://maps.google.com/
maps?file=api&v=2&key=ABQIAAAACeDba0As0X6mwbIbUYWv-RTbvLQlFZmc2N8bgWI8YDPp5FEVBQUnvmfInJbOoyS2v-
qkssc36Z5MA" type="text/javascript"></script>
建立新的widget,並記得要繼承HTML widget
public class GoogleMap extends HTML{
private static int nextId = 0;
private JavaScriptObject map;
public GoogleMap()
{
String id = "map"+(++nextId);
setStyleName("gwtapps-GoogleMap"); /* 設定對應的CSS */
setHTML("
"); /* google map 需要div element,並設定為自訂的ID */
RootPanel.get().add( this ); /* 取得預設的Root Panel,加入自己 */
map = initMap(id); /* 取得javascript的map object,之後可以用來呼叫其他API */
}
public void setCenter( final double lon, final double lat )
{
setCenterImpl( map, lon, lat );
}
private native static JavaScriptObject initMap( String id )
/*-{
var map = new $wnd.GMap2( $doc.getElementById(id) ); /* 初始化GMap時將自訂ID當成參數 */
return map;
}-*/;
private native static void setCenterImpl(JavaScriptObject map, double lon, double lat )
/*-{
map.setCenter(new $wnd.GLatLng(lon, lat), 13);
}-*/;
}
分享到:
相关推荐
GWT-JSNI.pdf GWT-JSNI.pdfGWT-JSNI.pdf
gwt-jsni 用于 GWT 项目的 JSNI 实用程序。 用法 将依赖项添加到您的 Maven POM: < groupId>com.bytebybyte.gwt</ groupId> < artifactId>jsni < version>1.0.0 < scope>provided 和你的 .gwt.xml 文件: ...
上次上传的没有包含数据库表这次补上;smartGwt、spring和Mybatis的整合
GWT与Spring整合,分析的很透彻,有代码过程。
115提供的那个不知道怎么回事,我一直下不下来,后来在论坛找到了但是书签很乱,重新整理了一个书签,顺手删除了一个广告页。...12. GWT与Flex整合 13. 图片缓存 CSS Sprite 14. 本地化 15. 其他高级功能
smartGwt、spring、Mybatis整合;一个登录和一个分页查询功能;根据用户获取相应的权限;gwt2.4、内付数据表
GWTEXT 与Hibernate整合实例,在Eclipse3.3测试过,连接Oracle数据库
GWT(Google Web Toolkit) 是 Google 最近推出的一个开发 Ajax 应用的框架,它支持用 Java 开发和调试 Ajax 应用,本文主要介绍如何利用 GWT 进行 Ajax 的开发。 Ajax技术是当前开发web应用的非常热门的技术,也是Web...
很多扩展库都利用 GWT,对现有的 JavaScript 库做 Java 封装,为 GWT 提供了更多可用的 API。SmartGWT 是其中的佼佼者,它的底层使用 SmartClient 这个成熟的 Ajax 库。SmartGWT 从 2008 年开始开发,一直处在非常...
GoogleWebToolkit(GWT)是一个Java软件开发框架用于开发类似于GoogleMaps和Gmail的AJAX应用程序。GWT的设计参考JavaAWT包设计,类命名规则、接口...在 GWT框架中使用 Echarts 。 注意: 本项目jar包已删除,请新建项目。
gwt使用手册,详细介绍gwt使用手册和各种组件的调用配置
研究gwt+ext+ssh框架整合编写的一个实例,实例中包括一个说明文档(google plugin创建gwt实例说明、gwt-ext实例的创建、gwt-ext与struts2整合实例说明);还包括文档对应的myeclipse项目。相关的包稍微有点大,没有...
GWT(Google Web Toolkit) 是 Google 最近推出的一个开发 Ajax 应用的框架,它支持用 Java 开发和调试 Ajax 应用,本文... 如果你觉得GWT提供的API不能满足需求,你可以利用JSNI将Javascript语句直接嵌入至Java代码中。
gwt 练习gwt 练习gwt 练习gwt 练习
gwt+spring+hibernate整合例子,导入myeclipse中(要安gwt插件)即可用,数据库自己去代码中查看。包是精简版的,去掉很多不必要的包
NULL 博文链接:https://digga2012.iteye.com/blog/1450696
本书内容全面,不仅详细介绍了 GWT 的主要模块和控件、GWT 与 JavaScript 对象的交互、在 GWT 中使用 XML、开发自定义 GWT 控件、GWT-RPC 和 Ext GWT 等必备的基础知识,而且还深入讲解了 GWT 与 Flex整合、图片缓存...
gwt 开发
gwt与hibernate整合,一个简单的新增和查询,只有一张表(两个字段),大家根据hibernate的配置文件自己生成吧
GWT使用大全, GWT配置, GWT使用方法,GWT手册,GWT使用手册