GWT JavaScript Native Interface (JSNI)2024 年 8 月 29 日 | 阅读 3 分钟 GWT JSNI 用于解决诸如将 GWT 与现有的手写 JavaScript 或第三方 JavaScript 库集成在一起的问题。有时,我们需要访问 GWT 类 API 没有公开的底层浏览器功能。 JSNI 相当于内联汇编代码,可以用于多种方式,例如
声明原生方法语法 从 Java 调用 JSNI从 Java 调用 JSNI 方法与调用常规 Java 方法没有什么不同。 示例 调用者实际上无法判断该方法是否是原生的。这为改变方法的实现方式提供了一些灵活性。 从 JSNI 调用 Java这比从 Java 调用 JSNI 更复杂。例如,假设我们向 JSNI 方法传递一个对象,并且需要访问该对象中的字段或调用方法。我们需要知道 GWT 编译器如何管理 Java 字段和方法名称。这有助于从您自己的 JavaScript 代码访问字段。 访问 Java 字段语法 其中: obj:它是被引用的对象实例。对于静态变量,省略实例表达式和尾随句点。 调用 Java 方法调用方法使用类似于访问字段的语法,但也要提供方法调用的签名。Java 方法可以被重载,即两个方法可以具有相同的名称,但接受不同的参数。 语法 其中: obj:它是被引用的对象实例。对于静态方法,省略实例表达式和尾随句点。 GWT JSNI 方法签名JSNI 方法签名与 JNI 方法签名完全相同,只是省略了方法返回类型。下表显示了类型签名
GWT JSNI 示例 它演示了将数字、字符串、布尔值和 Java 对象传递给 JavaScript。它还显示了 JavaScript 方法如何对传入的 Java 对象进行方法调用。 下表包含 JSNI 代码中的数据类型和类型表示形式。
下一主题# |
我们请求您订阅我们的新闻通讯以获取最新更新。