栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Mozilla Rhino :如何从Java调用JS函数

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Mozilla Rhino :如何从Java调用JS函数

String script = “function abc(x,y) {return x+y;}”;
Context context = Context.enter();
try {
scriptableObject scope = context.initStandardObjects();
scriptable that = context.newObject(scope);
Function fct = context.compileFunction(scope, script, “script”, 1, null);
Object result = fct.call(
context, scope, that, new Object[] {2, 3});
System.out.println(Context.jsToJava(result, int.class));
} finally {
Context.exit();
}


更新:将函数以及其他函数和变量一起加载到范围中时

String script = "function abc(x,y) {return x+y;}"        + "function def(u,v) {return u-v;}";Context context = Context.enter();try {    scriptableObject scope = context.initStandardObjects();    context.evaluateString(scope, script, "script", 1, null);    Function fct = (Function)scope.get("abc", scope);    Object result = fct.call( context, scope, scope, new Object[] {2, 3});    System.out.println(Context.jsToJava(result, int.class));} finally {    Context.exit();}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/595353.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号