gpt4 book ai didi

java - 从 JavaScript 调用 Java 时出现不可恢复的 stackoverflow 错误

转载 作者:搜寻专家 更新时间:2023-10-31 20:33:47 26 4
gpt4 key购买 nike

我遇到了一个我无法弄清楚的“不可恢复的堆栈溢出错误”。来自docs : 您需要创建一个接口(interface)对象(任何类的)并通过调用 JSObject.setMember() 让 JavaScript 知道它。

下面是 Java 代码共享和使用接口(interface)对象:

// somewhere in the code
JSObject window = (JSObject) engine.executeScript("window");
window.setMember("foo", new Foo()); // <-- shares
window.call("testFoo"); // <-- uses

// somewhere else
class Foo {
public void bar() {
System.out.println("baz");
}
}

下面是使用该对象的 JavaScript 代码:

window.testFoo = function() {
window.foo.bar();
}

如果我像上面显示的那样手动触发它,或者如果我通过一些 JavaScript 事件触发它,它就会发生。

最佳答案

答案在评论中,我不敢相信我已经尝试了几个小时的一切,而且这是一个非常快速的修复。

事实证明,暴露的接口(interface)必须是public

关于java - 从 JavaScript 调用 Java 时出现不可恢复的 stackoverflow 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29624094/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com