在Java中使用ScriptEngine调用JavaScript

2014-11-24 08:29:39 来源: 作者: 浏览: 1

在jdk1.6之后版本中新增了ScriptEngine类,允许Java程序直接调用java script代码


Java代码


package org.mystyle.js;
import java.io.File;
import java.io.FileReader;
import javax.script.Invocable;
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
public class Invokingjava script {
public static void main(String[] args) throws Exception {
ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine engine = manager.getEngineByName("java script");
String fileName = "src/demo.js";
File file = new File(fileName);
FileReader reader = new FileReader(file.getAbsolutePath().replaceAll("\\\\", "/"));
engine.eva l(reader);
if(engine instanceof Invocable){
Invocable invoke = (Invocable) engine;
Double sum = (Double) invoke.invokeFunction("addFun", 2, 3);
System.out.println(sum);
}
reader.close();
}
}


java script文件demo.js
function addFun(a, b){
return a+b;
}


输出:


5.0


-->

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: