小编th3*_*l3r的帖子

调用匿名JavaScript函数

我当前的JavaScript看起来像这样:

o.timer(function (){
    //Call from Java
    print("Hello World");
}).start(1000);
Run Code Online (Sandbox Code Playgroud)

在Java端,我尝试调用一个jdk.nashorn.internal.runtime.ScriptFunction女巫

ScriptFunction callback = ...
callback.getBoundInvokeHandle(MethodType.methodType(Object.class)).invoke();
Run Code Online (Sandbox Code Playgroud)

但是它抛出了这个:

java.lang.IllegalStateException: no current global instance
at jdk.nashorn.internal.objects.Global.instance(Global.java:474)
at jdk.nashorn.internal.objects.ScriptFunctionImpl.<init>(ScriptFunctionImpl.java:145)
at jdk.nashorn.internal.scripts.Script$\^eval\_._L3(<eval>:6)
at demo.Mainr$1.run(Main.java:38)
at java.util.TimerThread.mainLoop(Timer.java:555)
at java.util.TimerThread.run(Timer.java:505)
Run Code Online (Sandbox Code Playgroud)

如何调用此功能?

javascript java anonymous-function nashorn

5
推荐指数
1
解决办法
2160
查看次数

用Java获取Nashorn JsonObject

在我的JavaScript中,我有一个JSON对象,我用它作为Java对象的参数.在Java方面,我收到一个jdk.nashorn.internal.scripts.JO4但只有jdk.nashorn.internal.scripts.JO类出口.如何访问此JSON对象?

var test = {
    "id": 10,
    "Hello": "World",
    "test": {
        "Lorem" : "Ipsum",
        "java"  : true
    }
}

m.call(test);
Run Code Online (Sandbox Code Playgroud)

javascript java json nashorn

3
推荐指数
1
解决办法
5241
查看次数

标签 统计

java ×2

javascript ×2

nashorn ×2

anonymous-function ×1

json ×1