欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

java执行js脚本

程序员文章站 2022-07-13 13:08:58
...

今天突然看到java执行js脚本这玩意挺有味道的哈,我觉得针对一些需要经常变动算法的计税或者相关的软件很有用的哦、直接修改js脚本就好了、都不用动代码、项目也不用重新部署、弄个小demo、mark一下。

java代码:

//获取脚本引擎
		ScriptEngine scriptEngine=new ScriptEngineManager().getEngineByName("javascript");
		//绑定变量
		Bindings bind=scriptEngine.createBindings();
		//为js变量赋值
		bind.put("content", 10);
		//上下文作用域
		scriptEngine.setBindings(bind, ScriptContext.ENGINE_SCOPE);
		
		int param=100;
		//加载js代码
		try {
			scriptEngine.eval(new FileReader("js/demo.js"));
			if (scriptEngine instanceof Invocable) {
				Invocable invocable=(Invocable) scriptEngine;
				Double out=(Double) invocable.invokeFunction("add", param);
				System.out.println(out);
			}
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (ScriptException e) {
			e.printStackTrace();
		} catch (NoSuchMethodException e) {
			e.printStackTrace();
		}
js代码:
//小测试
function add(param){
	return param+content;
}