Apabila membangunkan aplikasi web, kadangkala anda perlu memanggil kod JavaScript dalam kod belakang Java. Dalam kes ini, anda boleh menggunakan enjin skrip Java untuk melaksanakan kod JavaScript. Artikel ini akan memperkenalkan cara memanggil JavaScript dalam Java.
Terdapat banyak enjin skrip tersedia di Jawa, seperti Rhino dan Nashorn. Dalam artikel ini, kami akan menggunakan Nashorn sebagai contoh.
Untuk menggunakan Nashorn dalam Java, anda perlu memperkenalkan perpustakaan Nashorn ke dalam projek anda. Jika anda menggunakan Maven untuk membina, cuma tambahkan kebergantungan berikut dalam pom Anda perlu menulis kod JavaScript terlebih dahulu. Berikut ialah contoh JavaScript yang mudah:
<dependency> <groupId>org.openjdk.nashorn</groupId> <artifactId>nashorn-core</artifactId> <version>1.8.0_25</version> </dependency>
var calculate = function(a, b) { return a + b; }
Dalam kod ini, mula-mula gunakan ScriptEngineManager untuk mencipta enjin skrip JavaScript. Kemudian muatkan fail JavaScript dan laksanakan kod di dalamnya dengan memanggil kaedah eval. Seterusnya, cipta objek Invocable dan panggil kaedah invokeFunctionnya untuk memanggil fungsi JavaScript. Akhir sekali, cetak hasil fungsi tersebut.
3.2. Melaksanakan String JavaScript
Selain memanggil kod JavaScript dengan memuatkan fail, anda juga boleh memanggil kod dengan melaksanakan rentetan JavaScript. Berikut ialah contoh kod:
ScriptEngineManager manager = new ScriptEngineManager(); ScriptEngine engine = manager.getEngineByName("JavaScript"); engine.eval(new FileReader("path/to/javascript/file.js")); Invocable invocable = (Invocable) engine; Object result = invocable.invokeFunction("calculate", 1, 2); System.out.println(result);
Dalam kod ini, rentetan JavaScript pertama kali ditakrifkan, yang mengandungi takrifan fungsi bernama hitung. Kemudian, buat enjin skrip JavaScript dan panggil kaedah evalnya untuk melaksanakan rentetan ini. Akhir sekali, panggil kaedah invokeFunction sekali lagi untuk memanggil fungsi.
RingkasanString script = "var calculate = function(a, b) { return a + b; }"; ScriptEngineManager manager = new ScriptEngineManager(); ScriptEngine engine = manager.getEngineByName("JavaScript"); engine.eval(script); Invocable invocable = (Invocable) engine; Object result = invocable.invokeFunction("calculate", 1, 2); System.out.println(result);
Atas ialah kandungan terperinci Bagaimana untuk memanggil javascript dalam java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!