问题标签 [jsni]

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 投票
1 回答
1398 浏览

java - JSNI:GWT:没有可用于 java.io.RandomAccessFile 类型的源代码

我是 GWT 的 n00b。我想使用 RandomAccessFile 从文件中读取并显示在网页上。

我发现 GWT 客户端不支持 RandomAccessFile,要调用 java 函数,我们必须使用 JSNI。

我有一个 JSNI 函数,它调用具有 RandomAccessFile 代码的函数。当我运行 Web 项目时,出现以下错误,但页面已加载,并且我能够在文本框中看到文件内容。

错误:14:58:43.854 [ERROR] [monitoringactivity] 第 14 行没有可用于 java.io.RandomAccessFile 类型的源代码;你忘了继承一个必需的模块吗?

谁能帮我解决这个错误。

此 RandomAccessFile 代码的实现位于与客户端相同的包中的不同 java 文件中。我必须在 gwt.xml 文件中添加任何内容吗?

代码:

从 onModuleLOad 我打电话: res = JsniExample.jsniCode();

0 投票
1 回答
431 浏览

java - 通过 JSNI 在 GWT 中实现类似 java.lang.reflect.Proxy 的功能

对于 GWT 中的一些自定义客户端-服务器-通信代码,我想动态实现一个 Java 接口,类似于使用 java.lang.reflect.Proxy 完成的方式。由于 GWT 不包含任何反射支持,而且我讨厌编写笨重的代码生成器,我想知道这是否可以使用 JSNI 和 Overlay 类型来完成。

我正在考虑以下几点:

  1. 我有一些现有的 java 接口,以及它的方法及其签名、注释等的表示形式(因为实际的类对象在 GWT 中没有任何帮助)。
  2. 我将该表示传递给一些 JSNI 方法,该方法使用它来构造一个新的 Javascript 对象并在其上定义相应的方法。这些方法的实际实现相当简单,它们只是将参数写入一些数据结构并返回 null。
  3. 我从 JSNI 得到一个 Javascript 对象,它以某种方式可以转换为接口类型。在此实例上调用接口中的方法时,将调用步骤 2 中定义的相应 Javascript 方法并保存参数。

有没有人尝试过类似的事情?为什么这在原则上不起作用?

提前致谢。

0 投票
2 回答
5711 浏览

gwt - GWT JSNI 布尔值

这是我的代码:

我在浏览器控制台中看到了这个:

未捕获的异常:java.lang.IllegalArgumentException:调用参数:布尔类型的 JS 值,预期为 java.lang.Boolean

我已经在 Chrome 和 Firefox 中进行了测试。

问题是什么?

谢谢您的帮助!

0 投票
1 回答
743 浏览

java - 我的 GWT 应用程序没有通过 JSNI 调用运行本机函数。有接盘侠吗?

我试图在我的 GWT 应用程序中通过 JSNI 调用运行本机 Java 函数。它看起来像这样:

包 foo.client;

公共类 AAA 实现入口点,UIupdate {

...

...

}

将 jsChangeView() 函数调用附加到前端的链接 onclick() 并单击它会导致“到达这里”警报,但不会出现“Hello World”警报,并且其他两个函数也没有运行。GWT 不是我的专业领域,这不是我的应用程序,所以我知道我在这里缺少一些基本的东西。有接盘侠吗?

0 投票
4 回答
1414 浏览

gwt - 使用 JSNI 将 JavaScript 集成到 GWT 的问题

我正在尝试使用 JSNI 为 GWT 的 WebSockets 创建一个简单的绑定,但是每次调用 JSNI 方法时我都会收到异常。简化的类定义如下:

在尝试实例化 Socket 对象时,使用以下行:

我得到了休闲异常,我不知道为什么:

我之前曾尝试为类型化数组和网络工作者创建类似的绑定,但我得到了完全相同的错误,所以我决定暂停这些绑定的开发并尝试一些更简单的方法,直到我找到这个异常的原因。

0 投票
2 回答
1147 浏览

gwt - GWT:gwt-exporter:传递对象

我一直在努力将 Java 对象通过 JSNI(gwt-exporter 生成)从 Java 传递到 Java 中,想知道是否有人可以提供帮助?

我正在用 Java(“Person”)创建一个对象,将它传递给一个 JSNI 方法(“displayPerson”),该方法调用一个用 gwt-exporter 公开的 Java 方法(“CommonService.displayPerson”);但是最后阶段的参数变为空。

如果我传递一个字符串,它可以正常工作;只是我的对象遇到了问题。

Person 定义在由其他 GWT 应用程序继承的 GWT 应用程序 JAR 中。

感谢您的关注,

麦克风

GWT 应用程序

公共服务.java

人.java

0 投票
1 回答
335 浏览

gwt - 向 GWT JSNI 发送 Javascript

我知道如何从 GWT 调用 Javascript。但是我有一个返回字符串的 javascript 函数,所以当调用该函数时我怎么能将它发送到 GWT。

希望这是有道理的

0 投票
2 回答
3376 浏览

java - GWT JSNI 和返回函数 - 需要建议

我正在查看所有示例,但仍然无法得到它......如何在 JSNI 中编写这样的函数

我的意思是能够使用 GWT 获取 JS 函数返回值...?

感谢所有有用的评论

0 投票
2 回答
1342 浏览

gwt - 使用 GWT-Strophe 的 GWT XMPP 客户端

我正在使用GWT-Strophe连接到我的 XMPP 服务器。一切进展顺利,我能够连接到我的 XMPP 服务器并向其他用户发送消息。我在接收消息时遇到问题。我正在尝试复制 Strophe echobot 示例,但是当收到消息时,我的处理程序中的代码没有被执行。

这是我用来连接和注册处理程序的代码:

0 投票
1 回答
1319 浏览

java - 帮助通过 JSNI 调用传递复杂对象以绕过静态范围

所以我有一个 GWT 应用程序,我正在尝试调用一个函数来从外部按钮更改应用程序的视图。通常这被称为“this.internalFunction('string')”。问题是 JSNI 通过静态方法工作,因此有问题的对象丢失了。解决方案:将应用程序的对象本身传递给 JSNI 调用并从那里调用该对象的函数调用!解决方案的问题:这不起作用。:(

类看起来像这样:

在模块加载时,调用 initChangeFunc() 并访问页面本身的 jsChangeView()。

编译错误提示编译器找不到 blah.package.Foo,那是因为我的参数类型签名(Lblah.package.Foo 部分)是错误的。