gpt4 book ai didi

java - 使用参数从 java 调用 javascript 函数

转载 作者:行者123 更新时间:2023-12-01 09:35:49 26 4
gpt4 key购买 nike

我正在努力从 java 调用 javascript 函数。我的问题来自于整个函数实际上是作为字符串参数接收的:

public void selectMethod(Map<T> item, String function)

其中函数对象实际上是整个java脚本方法。我需要用 nashorn 调用这个方法

ScriptEngine engine = new ScriptEngineManager().getEngineByName("nashorn");

我还需要通过 map 项传递该函数。当js函数修改 map 对象时,我必须在java中将其打印出来。

我会感谢任何帮助。

最佳答案

您可以在 Invocable [ https://docs.oracle.com/javase/8/docs/api/javax/script/Invocable.html#invokeFunction-java.lang.String-java.lang.Object...- 上使用 invokeFunction 方法]

Nashorn 引擎实现了 javax.script.Invocable 接口(interface)。从您的“selectMethod”java 方法中,您可以执行以下操作:

((Invocable)engine).invokeFunction(function, item);

我假设传递的脚本函数名称是全局脚本函数的名称[已通过之前完成的“eval”调用在引擎中定义]。

关于java - 使用参数从 java 调用 javascript 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38945175/

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