问题标签 [gwt-jsinterop]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
250 浏览

gwt - GWT 2.8.1 JsInterop 不工作

我是 GWT 的新手,我正在尝试使用 JsInterop 实现示例程序,但它不起作用。

------------------------------------JAVA代码------------ ------------------- 我怎样才能让简单的实现工作?有什么我想念的吗?

我在 java 代码
Window.alert("HIII");中给出了两个警告语句 静态方法();Window.alert("HELLOOOOOOO"); 在警报语句之间我在 javaScritp 中调用 API astaticMethod() :-

带有警报语句但 javascript 警报语句未执行根据我的要求,我试图在 javaScript 中调用 java 对象。

0 投票
1 回答
480 浏览

javascript - GWT JsType 数组转换

当我有 JSON 对象时:

然后我有这样的 JsInterop 包装器:

和:

当我在代码中的某个地方尝试访问数据时,当我尝试访问 Property 对象的属性时它会失败。

例如:

或者,如果我创建资产和属性类(isNative=true):

我检查了,如果我在尝试获取名称或 id 时编译应用程序,代码将编译为:

或者如果(isNative=true):

首先我认为这是因为我实现了数组的包装器,但是我发现了“jsinterop.base.JsArrayLike”,所以我认为这可以解决我的问题,但错误仍然存​​在。我错过了什么吗?我真的很想使用 JsInterop 而不是 JSNI 方法和 Overlay 类型,但我无法通过这些数组。

0 投票
1 回答
441 浏览

javascript - 无法通过 GWT 中的 JsInterop 将 Java 类导出到 JavaScript

我正在关注 GWT 文档Coding Basics - JavaScript: JsInterop以通过 annotation 将 Java 类导出到 JavaScript @JsMethod。但是,Java 类并未转译为 JavaScript。

这是我的Java类:

我的项目是通过 GWT Maven 插件 2.8.2 在 Maven 中构建的:

当我在浏览器的控制台中调用导出的方法时。然后方法没有定义:

VM59:1 Uncaught ReferenceError: io is not defined at :1:1

0 投票
1 回答
916 浏览

gwt - Gwt elemental2:如何在 gwt JavaScript 对象和 JsInterop 对象之间进行转换?

假设我有一个com.google.gwt.dom.client.Document gwtDocument节点,我想将其转换为elemental2.dom.Document?

由于 Document 扩展了 JavaScriptObject,我认为我可以执行以下操作:

但是,使用 jsinterop 的 elemental2 类不扩展 JavaScriptObject。那么如何在两者之间进行转换呢?

谢谢!

0 投票
1 回答
1575 浏览

java - 如何在 GWT 中使用 XMLHttpRequest?

XMLHttpRequest 是来自 GWT 客户端的 HTTP 调用的替代方案,并允许控制请求/响应的所有方面。但是如何使用呢?javadoc地址: http: //www.gwtproject.org/javadoc/latest/com/google/gwt/xhr/client/class-use/XMLHttpRequest.html

0 投票
1 回答
161 浏览

java - 如何为@JsProperty 设置默认值?

我正在为Mapbox-gl-js的源对象构建一个 Jsinteropted 包装器。

我有一个抽象类Source,它嵌入了默认方法,例如获取/设置源的类型。

而且我有一些必须(根据 Mapbbox 文档)定义type属性的继承类!所以我想做类似的事情:

或者

但两者都被 GWT 编译器禁止。

现在我使用一个创建 GeoJsonSource 然后放置正确type属性的工厂,但我想知道是否有 Jsinteropt 方法可以做到这一点?

0 投票
1 回答
156 浏览

gwt - Checking availability of a method or property in GWT Elemental2 overlays

Although a property or method may be provided in an Elemental2 overlay, how can you test whether it is actually defined in the underlying JS object?

The DomGlobal class has a hasOwnProperty() method that seems to do what I want:

But how do I check for the existence of methods on the console object itself? I'd like to be able to do something like this:

It doesn't work because hasOwnProperty() isn't defined in the console overlay.

What am I supposed to do instead? Do I need to define my own overlay or cast to an overlay that includes the method?

Is this right?

It seems a bit of a mouthful. Are there standard utilities for doing this more succinctly or do I have to write my own?

0 投票
2 回答
907 浏览

java - 如何将对象转换为 JsType?

为了操作符合 [GeoJson][1] 的数据,我声明了以下 JsType:

有时我需要将我的FeatureCollection对象传递给通过属性访问数据的外部库(例如 Turfs.js 以执行单位转换)features。该库返回给我一个具有相同属性的新对象(它们像我的 JsType 一样遵循 GeoJson RFC),但我无法将其转换回FeatureCollection

Turf 库是 JsInteroped:

当使我的 FeatureCollection 成为本机 JsType 时,它​​可以工作但阻止我使用我当前的构造函数,所以我正在寻找一种方法将 javascript 对象强制转换为我的 JsType。[1]:https ://www.rfc-editor.org/rfc/rfc7946

0 投票
0 回答
111 浏览

gwt - GWT com.google.gwt.json.client.* JSON 类不支持 jsinterop?

当我尝试编译和运行代码时

我收到控制台消息如下 -

[警告] 一些过时的类型([com.mycompany.gwtjs.client.AjaxForm$1, com.mycompany.gwtjs.client.AjaxForm$1$1, com.mycompany.gwtjs.client.AjaxForm])没有按预期重新处理。这要么是编译器错误,要么是生成器已合法地停止创建这些类型。

链接http://www.gwtproject.org/javadoc/latest/index.html有包含我使用的类的包。

请问有人有想法解决这个问题吗?

谢谢。

0 投票
0 回答
123 浏览

gradle - 如何通过 LibGDX (Gradle) 导入和使用 JsInterop?

我不知道如何在 LibGDX 项目中导入和使用JsInterop

我在 html 中的 GWT 版本build.gradle是正确的:

在项目中build.gradle

我仍然无法编译,我收到错误:

我已经阅读了有关该generateJsInteropExports标志的信息,我尝试将其放在不同的地方(可能是错误的地方?),也没有用。

我错过了什么吗?