JavaScriptMethods.js에서 Execute (S1, S2) 메소드를 실행하려고합니다. JavaScriptMethods.js 파일의 내용은 다음과 같습니다.
함수 실행 (S1, S2) {return S1 + S2;}먼저, 인터페이스를 정의해야하며, 이는 실행될 JavaScript 메소드와 동일한 메소드 서명을 제공합니다. 인터페이스 방법을 정의하고 그 내용은 다음과 같습니다.
/** * 인터페이스의 메소드 서명은 실행될 JavaScript 메소드와 일치해야합니다 * @Author Yuncong * */public interface 메소드 {public String Execute (String S1, String S2);}그런 다음 스크립트 엔진을 사용하여 JavaScriptMethods.js에서 Execute (S1, S2) 메소드를 실행할 수 있습니다. 특정 컨텐츠는 다음 executescript 클래스로 작성됩니다.
import java.io.filereader; import javax.script.invocable; import javax.script.scripttengine; import javax.script.script.script.scriptengemanager; public static void main (strings [] args) {scriptenginemanager manager = new ScriptengineManager (); scriptengeine 엔진 = manager.getEnginebyName ( "js"); {string path = executescript.class.getResource ( ""). getPath (); System.out.println (Path); // filereader의 매개 변수는 Engine.eval (new filereader (path + "javaScriptMethods.js")); if (Engine of Incastof) {Invocable Invocable = (Invocable) 엔진; 메소드 executeMethod = invocable.getInterface (methods.class); System.out.println (ExecuteMethod.Execute ( "li", "Yuncong")); }} catch (예외 e) {e.printstacktrace (); }}} executescript 클래스를 실행하면 출력은 다음과 같습니다.
/c :/users/yuncong/git/login/target/classes/executescript/liyuncong
위의 내용은이 기사에 관한 모든 것입니다. 모든 사람의 학습에 도움이되기를 바랍니다.