本篇文章给大家分享的内容是如何在java程序中运行js的代码分享,有着一定的参考价值,有需要的朋友可以参考一下
1.6版本中增加了scriptengine可以直接运行js代码
1、直接写js代码
import javax.script.scriptengine;
import javax.script.scriptenginemanager;
import javax.script.scriptexception; /** * 直接调用js代码 */
public class scriptenginetest {
public static void main(string[] args) {
scriptenginemanager manager = new scriptenginemanager();
scriptengine engine = manager.getenginebyname("javascript");
try{
engine.eval("var a=3; var b=4;print (a+b);");
// engine.eval("alert(\"js alert\");"); // 不能调用浏览器中定义的js函数 // 错误,会抛出alert引用不存在的异常
}catch(scriptexception e){
e.printstacktrace();
}
}
}
2、调用function
import java.io.filereader;
import javax.script.invocable;
import javax.script.scriptengine;
import javax.script.scriptenginemanager;
/** * java调用并执行js文件,传递参数,并活动返回值 * * @author manjushri */
public class scriptenginetest {
public static void main(string[] args) throws exception {
scriptenginemanager manager = new scriptenginemanager();
scriptengine engine = manager.getenginebyname("javascript");
string jsfilename = "expression.js"; // 读取js文件
filereader reader = new filereader(jsfilename); // 执行指定脚本
engine.eval(reader);
if(engine instanceof invocable) {
invocable invoke = (invocable)engine; // 调用merge方法,并传入两个参数
// c = merge(2, 3);
double c = (double)invoke.invokefunction("merge", 2, 3);
system.out.println("c = " + c);
}
reader.close();
}
}
js文件
// expression.js
function merge(a, b) {
c = a * b;
return c;
}
相关推荐:
java直接运行javascript代码或js文件
在java中直接调用js代码
java调用javascript文件方法
java在服务器后端直接运行javascript方法
以上就是如何在java程序中运行js的代码分享的详细内容。