我正在使用J2V8从我的Java代码调用javascript函数。当我尝试执行我的脚本时,它给了我ReferenceError:没有定义进程。该脚本使用reactDomServer将哈希映射转换为html对象。
我正在按如下方式初始化我的V8:
V8 v8 = v8.createV8Runtime("global");
另外,当你想用V8调用JS函数时,有没有办法将hashmap作为参数传递?
v8.executeJsScript("myFunction", myHashMap)
这与nashorn合作但我无法使其与V8一起使用。看来我的参数需要是V8值或原语。我发现的所有示例都非常简单,只传递字符串或整数作为参数。如果我的参数是几个对象,我应该将它们声明为V8值,然后将它们推入V8数组并将该数组作为我的函数参数传递?
谢谢!
答案 0 :(得分:1)
您可以使用V8ObjectUtils.toV8Object
从HashMap创建V8Object。