`
yonglin4605
  • 浏览: 187609 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

JavaScriptObject学习

    博客分类:
  • GWT
阅读更多
GWT中的JavaScriptObject类是一个比较底层的类,

他把javascript对象包装后变成了一个Java对象,这样我们便可以通过Java语法来操作这个javascript对象了。



看一下这个类的源码,以下是他的3个静态方法,分别是创建javascript的数组,函数,对象。

这里用到了gwt的jsni(javascript native interface),jsni是java调用javascript的接口,我们所有的java代码到最后都是通过jsni来转变成javascript代码的。

他以 /*-{ 开头  以}-*/; 结尾

在这之间写的就是javascript代码了
  /**
   * 返回一个数组
   */
  public static native JavaScriptObject createArray() /*-{
    return [];
  }-*/;
  
  /**
   * 返回一个空的函数
   */
  public static native JavaScriptObject createFunction() /*-{
    return function() {
    };
  }-*/;

  /**
   * 返回一个对象
   */
  public static native JavaScriptObject createObject() /*-{
    return {};
  }-*/;


JavaScriptObject类有很多子类,他们都表示这是一个javascript对象,如下图所示



JsArray表示javascript的数组对象
JsArrayString表示存放string类型的数组
Node表示DOM中的基础数据类型node,他有3个子类,分别是Document,Element,Text
Document就是我们在js中写的document对象,他是整个html的根节点,下面是他的一个静态方法,来获取document(从中也可以看出$doc就指向document,我们在写native方法时可以直接用$doc)
  /**
   * 
   * @return 返回js中的document对象
   */
  public static native Document get() /*-{
    return $doc;
  }-*/;

Element对应的就是js中的element对象了,他有很多子类,具体在Element学习中介绍吧
  • 大小: 29.7 KB
0
0
分享到:
评论
2 楼 yonglin4605 2010-08-18  
Javac_MyLife 写道
您好我想问一下,现在我通过JSNI返回了一个DIV的JavaScriptobject,请问我该怎么进行转化,才能让这个JS的DIV对象在我GWT的panel种进行显示呢。

GWT组件调用getElement()然后appendChild(divElement),这样可以加到GWT组件里面。如果你想用HTML来布置界面的话,建议用UiBinder,比较方便
1 楼 Javac_MyLife 2010-08-17  
您好我想问一下,现在我通过JSNI返回了一个DIV的JavaScriptobject,请问我该怎么进行转化,才能让这个JS的DIV对象在我GWT的panel种进行显示呢。

相关推荐

    gwtbean:一个使用 JavaScriptObject 的概念,如 Spring BeanWrapper

    通过研究这些内容,开发者可以深入了解 Gwt-Bean 的工作原理,学习如何在自己的 GWT 应用中有效利用这一工具,提高开发效率和代码质量。 总之,Gwt-Bean 是一个强大的工具,它为 GWT 开发者提供了一种优雅的方式,...

    JavaScript Object JSON

    JavaScript Object和JSON是Web开发中两个非常重要的概念,它们在数据交换和存储中扮演着关键角色。这篇博客将深入探讨这两个主题,以及它们之间的关系。 首先,JavaScript Object(JS对象)是JavaScript语言中的...

    JSON(JavaScriptObject Notation)是一种轻量级的数据交换格式

    JSON(JavaScriptObject Notation)是一种轻量级的数据交换格式。它基于JavaScript的一个子集。JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯。这些特性使JSON成为理想的数据交换语言。易于人...

    C# 工作中,常用的javascript

    根据给定文件的信息,我们可以提炼出一系列与JavaScript相关的实用技巧,这些技巧对于C#开发者在进行Web开发时尤其有用。以下是对这些知识点的详细解析: ### 1. 屏蔽鼠标右键 通过使用`oncontextmenu="window....

    javascript Object与Function使用

    JavaScript中的对象和函数是语言的核心组成部分,特别是构造函数Object和Function。它们之间的关系以及instanceof运算符的工作原理是理解JavaScript面向对象特性的关键。 首先,JavaScript的对象体系结构基于Object...

    JavaScript语言精粹_修订版.pdf

    学习、理解,实践大师的思想,我们才可能站在巨人的肩上,才有机会超越大师。 作者简介: Douglas Crockford是一名来自Yahoo!的资深JavaScript架构师,以创造和维护JSON (JavaScriptObject Notation) 格式而为大家...

    C#实现json格式转换成对象并更换key的方法

    本文实例讲述了C#实现json格式转换成对象并更换key的方法。分享给大家供大家参考。具体分析如下: ...JavaScriptObject obj = JavaScriptConvert.DeserializeObject(str) as JavaScriptObject; forea

    JavaScript语言精粹_修订版

    javascript曾是“世界上最...的资深JavaScript架构师,以创造和维护JSON (JavaScriptObject Notation) 格式而为大家所熟知。他定期在各类会议上发表有关高级JavaScript的主题演讲。他也是ECMAScript委员会的成员之一。

    javascript语言精粹 修订版

    Douglas Crockford是一名来自Yahoo!的资深JavaScript架构师,以创造和维护JSON (JavaScriptObject Notation) 格式而为大家所熟知。他定期在各类会议上发表有关高级JavaScript的主题演讲。

    基于Java的网页浏览器.zip

    6. **JavaScript与Java的交互**: JavaFX提供了一种方式,通过JavaScriptObject接口,使得Java代码和JavaScript在浏览器环境中可以互相调用。这允许开发者实现一些高级功能,比如从Java代码执行JavaScript函数,或者...

    cJSON_for_c

    JSON(JavaScriptObject Notation)是一种轻量级的数据交换格式。它基于JavaScript的一个子集。JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯。这些特性使JSON成为理想的数据交换语言。易于人...

    关于 js 和 applet 相互调用的例子

    JS与Applet之间的交互是基于Java Applet API中的`JavaScriptObject`接口和`LiveConnect`机制。在JavaScript中,我们可以通过`document.applets`对象来访问已加载的Applet实例。而在Applet中,可以使用`...

    json例子集合里面有很多自己总结的JSON例子

    var jsonString = JSON.stringify(javascriptObject); console.log(jsonString); // 输出 '{"name":"Bob","age":30}' ``` 6. **JSON与XML的对比**: - JSON比XML更简洁,解析速度更快。 - JSON天生具有...

    interapp-eventbus

    GWT InterApp EventBus ... public void onEvent(JavaScriptObject 数据){ .... } public String getType(){ return "test_1"; } }); } 注意:模块 A 和 B 部署在同一个网页中,两个模块都应该继承 Int

    Ajax使用JSON数据格式案例

    JSON(JavaScriptObject Notation)一种简单的数据格式,比xml更轻巧。JSON是JavaScript原生格式,这意味着在JavaScript中处理JSON数据不需要任何特殊的API或工具包。 JSON的规则很简单:对象是一个无序的“‘名称/...

    gwt-cannonjs:围绕 cannon.js 库的 GWT 包装器

    仅操作 JavaScriptObject (JSO),这将在 GWT 编译器的内联/修剪阶段消除。 缺点是某些方法需要 JsArray 作为参数或返回类型,这比普通 Java 数组或集合更难操作。 如果您更喜欢使用 Java 标准集合,则必须编写自己...

    some-gwt-module:通过一些基本示例,讨论如何帮助更新GWT模块以供将来使用

    具体来说,JSNI,Generators和JavaScriptObject在GWT 3中将不起作用; 我们必须改为使用JsInterop和Java注释处理器(或其他代码生成器/构建工具)。 通过现在进行此移植,我们可以改进和更新这些模块而不会冒着向后...

    C#窗体与GeckoFx浏览器之间的相互调用

    使用`Gecko.JavascriptObject`类创建C#对象,并暴露给JavaScript。 5. **自定义功能扩展** - **插件支持**:GeckoFX支持Firefox的插件,可以通过`Gecko.Xpcom`命名空间进行操作。 - **网络请求拦截**:可以监听和...

    google web toolkit

    如果GWT的标准库无法满足需求,开发者还可以使用JavaScript Native Interface (JSNI)在Java源代码中嵌入手写JavaScript,或者通过扩展JavaScriptObject (JSO)类来实现与JavaScript库的交互。 GWT还提供了对浏览器...

Global site tag (gtag.js) - Google Analytics