在Java程序中直接调用js方法代码
废话不多说直接上代码
import javax.script.*;
import java.io.FileReader;
public class Test {
public static void main(String[] args) throws Exception{
ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine engine = manager.getEngineByName("javascript");
String jsFileName = "C:\\Engineering\\signG.js"; // 读取js文件
FileReader reader = new FileReader(jsFileName); // 执行指定脚本
engine.eval(reader);
if(engine instanceof Invocable) {
Invocable invoke = (Invocable)engine;
// 调用Sign_Born方法,并传入对应的参数
String signBorn = (String) invoke.invokeFunction("Sign_Born", "", "","");
System.out.println("signBorn = " + signBorn);
}
reader.close();
}
}
invoke.invokeFunction(js方法名,参数)
需要几个就写几个参数,返回值类型跟JS方法返回值类型保持一致
注意jsFileName 路径不要写错。