Java6 脚本引擎(用Java调用JS脚本)调用js
2010-01-16 13:59
288 查看
Java6 脚本引擎(用Java调用JS脚本)调用js
import java.io.FileNotFoundException;
import java.io.FileReader;
import javax.script.Invocable;
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
import javax.script.ScriptException;
public class JavaScriptEngineTest {
public static void main(String[] args) {
try {
JavaScriptEngineTest test = new JavaScriptEngineTest();
test.testAdd(5, 6);
} catch (Exception se) {
se.printStackTrace();
}
}
public String getPath() {
return this.getClass().getResource("/").getPath();
}
public void testAdd(int a, int b) {
ScriptEngineManager sem = new ScriptEngineManager();
ScriptEngine jsEngine = sem.getEngineByName("js");
try {
jsEngine.eval(new FileReader(getPath() + "JavaScriptEngineTest.js"));
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (ScriptException e) {
e.printStackTrace();
}
Invocable invocableEngine = (Invocable) jsEngine;
try {
Object ret = invocableEngine.invokeFunction("add", a, b);
System.out.println(ret);
} catch (ScriptException e) {
e.printStackTrace();
} catch (NoSuchMethodException e) {
e.printStackTrace();
}
}
}
JavaScriptEngineTest.js,放在同一目录:
function add(a,b) {
return a+b;
}
输出:
11.0
import java.io.FileNotFoundException;
import java.io.FileReader;
import javax.script.Invocable;
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
import javax.script.ScriptException;
public class JavaScriptEngineTest {
public static void main(String[] args) {
try {
JavaScriptEngineTest test = new JavaScriptEngineTest();
test.testAdd(5, 6);
} catch (Exception se) {
se.printStackTrace();
}
}
public String getPath() {
return this.getClass().getResource("/").getPath();
}
public void testAdd(int a, int b) {
ScriptEngineManager sem = new ScriptEngineManager();
ScriptEngine jsEngine = sem.getEngineByName("js");
try {
jsEngine.eval(new FileReader(getPath() + "JavaScriptEngineTest.js"));
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (ScriptException e) {
e.printStackTrace();
}
Invocable invocableEngine = (Invocable) jsEngine;
try {
Object ret = invocableEngine.invokeFunction("add", a, b);
System.out.println(ret);
} catch (ScriptException e) {
e.printStackTrace();
} catch (NoSuchMethodException e) {
e.printStackTrace();
}
}
}
JavaScriptEngineTest.js,放在同一目录:
function add(a,b) {
return a+b;
}
输出:
11.0
相关文章推荐
- 在java程序中使用jQuery抓取网页的新方法(java调用js解析引擎)
- java调用javascript :js引擎rhino
- JDK8中Java调用Javascript脚本引擎动态定义与执行代码
- JAVA使用脚本引擎执行JS
- JDK8中Java调用Javascript脚本引擎动态定义与执行代码
- java调用javascript :js引擎rhino
- java调用javascript :js引擎rhino
- JAVA/GROOVY中调用脚本引擎的实现方式
- java中调用js脚本 学学还是有用的
- java调用js脚本,以及js脚本调用java方法
- JAVA使用脚本引擎执行JS
- JavaWeb开发,使用js调用打印机打印页面
- Java中调用服务端脚本
- 利用Java注解将常量类生成js文件供前端调用 推荐
- java调用sqlplus执行批量脚本获得输出结果和调用.bat文件
- Java程序调用远程Shell脚本
- ScriptEngine使用java调用js代码
- Js与java的互相调用
- 在JAVA与JSP中要调用一个LINUX上的脚本程序,或WINDOWS上的脚本程序
- java中如何调用Shell脚本文件