如何构造ScriptableObject以实现此目的
functon onRequest(request, response, modules) {
var requestBody = request.body;
response.body = request.body;
response.body.hello = 'world';
response.complete(200);
}
onRequest
Javascript函数里面的所有内容都是表达式:
request
,response
和modules
是传递给要访问的Javascript运行时的Java对象。
Context cx = Context.enter();
ScriptableObject scope = cx.initStandardObjects();
cx.evaluateString(scope,
String.format("function onRequest() { %s }", expression),
"<func>", 1, null);
这个问题的答案是通过Java对象传递:
ScriptableObject.putProperty(scope, "foo", fooObj);