0

我正在使用 J2V8 从我的 Java 代码中调用一个 javascript 函数。当我尝试执行我的脚本时,它给了我 ReferenceError : process is not defined。该脚本使用 reactDomServer 将哈希映射转换为 html 对象。

我正在初始化我的 V8,如下所示:

V8 v8 = v8.createV8Runtime("global");

另外,当你想使用 V8 调用 JS 函数时,有没有办法将 hashmap 作为参数传递?

v8.executeJsScript("myFunction", myHashMap) 

这与 nashorn 一起使用,但我无法使其与 V8 一起使用。看来我的参数需要是 V8 值或原语。我找到的所有示例都非常简单,只传递字符串或整数作为参数。如果我的参数是几个对象,我应该将它们声明为 V8 值,然后将它们推送到 V8 数组中并将该数组作为我的函数参数传递吗?

谢谢!

4

1 回答 1

1

您可以使用V8ObjectUtils.toV8Object从 HashMap 创建 V8Object。

于 2017-07-03T21:50:27.010 回答