자바 코드에서 자바 스크립트 함수를 호출하려고합니다. 여기 ReferenceError : "alert"가 정의되지 않았습니다.
내 자바 코드 여기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();
}
}
입니다 내 자바 스크립트 파일 :
(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 파일을 내 클래스 경로에 추가했습니다. 그러나 이것은 작동하지 않습니다.
이 오류를 해결하는 방법을 알지 못합니다. 도와주세요. 미리 감사드립니다.
NodeJS와 비슷한 것을 사용하면 코드를 실행할 수 있지만 브라우저에서 실행되지 않으므로 경고 상자와 같이 브라우저의 이점을 누릴 수 없습니다. –