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

问题描述 投票:0回答:1

如何构造ScriptableObject以实现此目的

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

onRequest Javascript函数里面的所有内容都是表达式:

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

        Context cx = Context.enter();
        ScriptableObject scope = cx.initStandardObjects();
        cx.evaluateString(scope,
                String.format("function onRequest() { %s }", expression),
                "<func>", 1, null);
javascript java mozilla rhino
1个回答
0
投票

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

ScriptableObject.putProperty(scope, "foo", fooObj);
© www.soinside.com 2019 - 2024. All rights reserved.