java中调用Js的意义在于,如果你正在做一个网站登陆的程序,本来用java可以直接登陆下载,结果网站对密码进行了一次js加密。那么使用java调用这个js的代码,就可以执行出加密后的结果。
我们不需要再去猜测js代码中加密的含义。
private static void testInvokeScriptMethod(ScriptEngine engine) throws Exception {
String script = "function helloFunction(name) { return 'Hello everybody,' + name;}";
engine.eval(script);
Invocable inv = (Invocable) engine;
String res = (String) inv.invokeFunction("helloFunction", "Scripting");
System.out.println("res:" + res);
}
public static void main(String[] args) throws Exception {
ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine engine = manager.getEngineByName("javascript");
testInvokeScriptMethod(engine);
}