如何将多个Java对象传递到Javascript(Rhino)

时间:2018-10-02 21:57:20

标签: javascript java mozilla rhino

我如何构造一个ScriptableObject来实现这一目标

functon onRequest(request, response, modules) {
  var requestBody = request.body; 
  response.body = request.body;
  response.body.hello = 'world';
  response.complete(200);
}

onRequest Javascript函数内部的所有内容都是 expression

requestresponsemodules是传递给Javascript运行时以进行访问的Java对象。

        Context cx = Context.enter();
        ScriptableObject scope = cx.initStandardObjects();
        cx.evaluateString(scope,
                String.format("function onRequest() { %s }", expression),
                "<func>", 1, null);

1 个答案:

答案 0 :(得分:0)

这个问题的答案是通过以下方式传递Java对象:

ScriptableObject.putProperty(scope, "foo", fooObj);