js调用本地java程序_java调用本地js代码函数

public static void ExcuteJs(String paras) throws ScriptException,

FileNotFoundException, NoSuchMethodException

{

ScriptEngineManager engineManager = new ScriptEngineManager();

ScriptEngine engine = engineManager.getEngineByName("JavaScript"); //得到脚本引擎

engine.eval("var a=1; var b=2;print (a+b);");  //执行运算

// engine.eval("alert(\"js alert\");");    // 不能调用浏览器中定义的js函数 // 错误,会抛出alert引用不存在的异常

engine.put("a", 4);

engine.put("b", 3);

Bindings bindings = engine.getBindings(ScriptContext.ENGINE_SCOPE);

try {

// 只能为Double,使用Float和Integer会抛出异常

Double result = (Double) engine.eval("a+b");

System.out.println("result = " + result);

engine.eval("c=a+b");

Double c = (Double)engine.get("c");

System.out.println("c = " + c);

engine.eval(new java.io.FileReader("d:/test.js"));

Invocable inv = (Invocable)engine;

Object a = inv.invokeFunction("test", paras );   //test.js中的test方法

CheckMethods.PrintDebugMessage(a.toString());

System.out.println(a.toString());

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值