报异常:java.lang.NoSuchMethodException: no such method: o.f at com.sun.script.javascript.RhinoScriptEngine.invoke(RhinoScriptEngine.java:286) at com.sun.script.javascript.RhinoScriptEngine.invokeFunction(RhinoScriptEngine.java:258) at com.ronglian.test.RSAencode.main(RSAencode.java:52)
ScriptEngineManager manager = new ScriptEngineManager(); ScriptEngine engine = manager.getEngineByName("javascript"); 用ScriptEngineManager
at com.sun.script.javascript.RhinoScriptEngine.invoke(RhinoScriptEngine.java:286)
at com.sun.script.javascript.RhinoScriptEngine.invokeFunction(RhinoScriptEngine.java:258)
at com.ronglian.test.RSAencode.main(RSAencode.java:52)
ScriptEngine engine = manager.getEngineByName("javascript");
用ScriptEngineManager
我代码没贴完,实际上我用的就是ScriptEngineManager ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine engine = manager.getEngineByName("javascript");
// String script = "var obj = new Object(); obj.run = function() { println('run method called'); }";
String script = "var obj = {run:function(){return 'abcdefg'}}";
engine.eval(script);
Object obj = engine.get("obj");
Invocable inv = (Invocable) engine;
Runnable r = inv.getInterface(obj, Runnable.class);
Thread th = new Thread(r);
th.start();
我代码没贴完,实际上我用的就是ScriptEngineManager