我想從java代碼中調用java腳本函數。ReferenceError:「alert」未定義
這裏是我的Java代碼
public static void main(String[] args) throws FileNotFoundException {
try {
/**
* To call a anonymous function from java script file
*/
ScriptEngine engine = new ScriptEngineManager()
.getEngineByName("javascript");
FileReader fr = new FileReader("src/js/MySpec.js");
engine.eval(fr);
} catch (ScriptException scrEx) {
scrEx.printStackTrace();
}
}
這裏是我的Java腳本文件:
(function() {
alert("Hello World !!!");
})();
但是當我運行驅動程序類的主要方法,它給我如下錯誤:
Exception in thread "main" javax.script.ScriptException: sun.org.mozilla.javascript.internal.EcmaError: ReferenceError: "alert" is not defined. (<Unknown source>#2) in <Unknown source> at line number 2
at com.sun.script.javascript.RhinoScriptEngine.eval(RhinoScriptEngine.java:110)
at javax.script.AbstractScriptEngine.eval(AbstractScriptEngine.java:232)
at Java6RhinoRunner.load(Java6RhinoRunner.java:42)
at Java6RhinoRunner.main(Java6RhinoRunner.java:12)
我知道的是它需要一些腳本引擎來執行它。
對於我在我的課加rhino.jar文件path.But這是行不通的。
我沒有得到如何解決這個錯誤。 請幫忙。提前致謝。
就像使用類似的NodeJS,你可以執行的代碼,但因爲你沒有在瀏覽器中運行,你不能有瀏覽器的好處,如警告框。 –