Tôi đang cố gắng gọi một hàm bằng JavaScript thông qua Java. Điều này làm việc tốt khi trực tiếp đọc một kịch bản như một chuỗi nhưng tôi đang sử dụng CompiledScripts.script javax cách gọi một hàm trong JavaScript từ Java
Khi tôi làm điều này với một tập lệnh được biên dịch, nó cho tôi phương pháp không tìm thấy nếu tôi cũng thêm các ràng buộc. Nếu không có sự ràng buộc nó hoạt động nhưng tất nhiên chức năng thất bại bởi vì nó cần các ràng buộc.
Bất kỳ ý tưởng nào?
CompiledScript script = ... get script....
Bindings bindings = script.getEngine().createBindings();
Logger scriptLogger = LogManager.getLogger("TEST_SCRIPT");
bindings.put("log", scriptLogger);
//script.eval(bindings); -- this way fails
script.eval(); // -- this way works
Invocable invocable = (Invocable) script.getEngine();
invocable.invokeFunction(methodName);
TIA