Tôi đang cố gắng gọi một hàm java script từ mã java.Tham chiếuGỗi: "cảnh báo" không được xác định
Đây là mã Java của tôi
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();
}
}
Dưới đây là tập tin của tôi java script:
(function() {
alert("Hello World !!!");
})();
Nhưng khi tôi chạy phương pháp chính của lớp điều khiển nó được đem lại cho tôi lỗi như sau:
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)
Điều tôi biết là nó cần một số công cụ tập lệnh để thực thi nó.
Đối với điều đó tôi đã thêm tệp rhino.jar vào đường dẫn lớp của tôi.Nhưng điều này không hoạt động.
Tôi không nhận được cách giải quyết lỗi này. Xin vui lòng giúp đỡ. Cảm ơn trước.
Giống như sử dụng một cái gì đó như NodeJS, bạn có thể thực thi mã nhưng vì bạn không chạy trong trình duyệt, bạn không thể có lợi ích của trình duyệt, chẳng hạn như hộp cảnh báo. –