关于在java中调用js的问题
jdk1.6自带调用js的类ScriptEngineManager、ScriptEngine
在实际使用中,执行如下代码的时候报错。
ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine engine = manager.getEngineByName("javascript");
String jsFileName = "test.js"; // 读取js文件
FileReader reader = new FileReader(jsFileName); // 执行指定脚本
engine.eval(reader);
执行到engine.eval(reader); 的时候报错:
javax.script.ScriptException: sun.org.mozilla.javascript.internal.EcmaError: ReferenceError: "g" is not defined. (<Unknown source>#1) in <Unknown source> at line number 1
at com.sun.script.javascript.RhinoScriptEngine.eval(RhinoScriptEngine.java:110)
at javax.script.AbstractScriptEngine.eval(AbstractScriptEngine.java:232)
到网上大概查了下,发现说是这个js需要配合active控件才能正常读取。
这个js是从别的地方拉过来的。
求大神&大婶们帮忙 Java JavaScript
[解决办法]
jdk是1.6.?升级到1.6.38看看