Estoy tratando de llamar a una función de script java desde el código java.ReferenceError: "alerta" no está definido
Aquí está mi código 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();
}
}
Aquí está mi java script:
(function() {
alert("Hello World !!!");
})();
Pero cuando corro principal método de clase del controlador que está dando me error de la siguiente manera:
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)
Lo que sé es que necesita algún motor de script para ejecutarlo.
Para eso agregué el archivo rhino.jar en mi ruta de clase. Pero esto no está funcionando.
No sé cómo resolver este error. Por favor ayuda.Gracias de antemano.
Al igual que con algo como NodeJS, puede ejecutar código, pero como no se está ejecutando en un navegador no puede tener los beneficios del navegador, como cuadros de alerta. –