Kami ingin menjalankan metode Execute (S1, S2) di javascriptmethods.js. Konten file javascriptmethods.js adalah sebagai berikut:
Function Execute (S1, S2) {return s1 + s2;}Pertama, Anda perlu mendefinisikan antarmuka, yang memberikan tanda tangan metode yang sama dengan metode JavaScript untuk dieksekusi. Kami mendefinisikan metode antarmuka, dan isinya adalah sebagai berikut:
/** * Tanda tangan metode dalam antarmuka harus konsisten dengan metode JavaScript yang akan dieksekusi * @Author yuncong * */Metode Antarmuka Publik {Public String Execute (String S1, String S2);}Kemudian, Anda dapat menggunakan mesin skrip untuk menjalankan metode Execute (S1, S2) di javascriptmethods.js. Konten spesifik ditulis dalam kelas Executcript berikut:
Impor java.io.filereader; import javax.script.invocable; import javax.script.scriptEngine; import javax.script.scriptEngineManager; Kelas Publik Executcript {public static void main (string [] args) {scriptengineMerager Manager = new ScriptEngeManager (); ScriptEngine engine = manager.getenginebyname ("js"); coba {string path = executScript.class.getResource (""). getPath (); System.out.println (path); // Parameter filereader adalah jalur file JS yang akan dieksekusi engine.eval (filereader baru (path + "javascriptmethods.js")); if (engine instance dari Invocable) {Invocable Invocable = (Invocable) Engine; Metode executeMethod = Invocable.getInterface (Methods.class); System.out.println (ExecuteMethod.Execute ("Li", "Yuncong")); }} catch (Exception e) {e.printstacktrace (); }}} Jalankan kelas Executcript dan output adalah sebagai berikut:
/C:/pengguna/yuncong/git/login/target/kelas/executcript/liyuncong
Di atas adalah semua tentang artikel ini, saya harap ini akan membantu untuk pembelajaran semua orang.