Wir möchten die Ausführungsmethode (S1, S2) in javaScriptMethods.js ausführen. Der Inhalt der Datei javascriptMethods.js lautet wie folgt:
Funktionsausführung (S1, S2) {return s1 + s2;}Zunächst müssen Sie eine Schnittstelle definieren, die die gleiche Methodensignatur wie die zu ausgeführte JavaScript -Methode ergibt. Wir definieren die Schnittstellenmethoden, und ihr Inhalt lautet wie folgt:
/** * Die Methodensignatur in der Schnittstelle muss mit der auszuführenden JavaScript -Methode übereinstimmen
Anschließend können Sie die Skript -Engine verwenden, um die Methode Execute (S1, S2) in JavaScriptMethods.js auszuführen. Der spezifische Inhalt ist in der folgenden Executescript -Klasse geschrieben:
importieren java.io.filereader; import javax.script.invocable; import javax.script.scriptengine; importieren javax.script.scripteniManager; public class executescript {public static void main (String [] args) {scriptenGentinemaner -Manager = new ScriptenManager (); ScripTengine Engine = Manager.GeteEngyName ("JS"); try {string path = executescript.class.getResource (""). getPath (); System.out.println (Path); // Der Parameter von FileReader ist der Pfad der von JS ausgeführten JS -Datei motor. if (Motorinstanz von Invocable) {invocable inclocable = (invocable) Motor; Methoden executemethod = invocable.getInterface (methods.class); System.out.println (executemethod.execute ("li", "yuncong"); }} catch (Ausnahme e) {e.printstacktrace (); }}} Führen Sie die ExecuteScript -Klasse aus und die Ausgabe lautet wie folgt:
/C:/user/yuncong/git/login/target/classes/executescript/liyuncong
Das Obige dreht sich alles um diesen Artikel, ich hoffe, es wird für das Lernen aller hilfreich sein.