Sto provando a chiamare una funzione di script java dal codice java.ReferenceError: "alert" non è definito
Ecco il mio codice 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();
}
}
Ecco il mio java file di script:
(function() {
alert("Hello World !!!");
})();
Ma quando ho eseguito il metodo principale della classe di driver che mi sta dando errore come di seguito:
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)
Quello che so è che ha bisogno di un motore di script per eseguirlo.
Per questo ho aggiunto il file rhino.jar al mio percorso di classe. Ma questo non funziona.
Non riesco a capire come risolvere questo errore. Please help.Thanks in anticipo.
Molto simile all'utilizzo di qualcosa come NodeJS, è possibile eseguire il codice ma poiché non si esegue in un browser non è possibile avere i vantaggi del browser, ad esempio le finestre di avviso. –