Queremos ejecutar el método Ejecutar (S1, S2) en javascriptmethods.js. El contenido del archivo JavaScriptMethods.js es el siguiente:
función ejecutar (s1, s2) {return s1 + s2;}Primero, debe definir una interfaz, que proporciona la misma firma del método que el método JavaScript que se ejecutará. Definimos los métodos de interfaz, y su contenido es el siguiente:
/** * La firma del método en la interfaz debe ser consistente con el método JavaScript que se ejecutará * @Author Yuncong * */Public Interface Methods {public String Execute (String S1, String S2);}Luego, puede usar el motor de script para ejecutar el método Ejecutar (S1, S2) en javascriptmethods.js. El contenido específico se escribe en la siguiente clase Executescript:
import java.io.filereader; import javax.script.invocable; import javax.script.scriptEngine; import javax.script.scriptengineManager; public class Executescript {public static void main (string [] args) {ScriptenGinemanager Manager = new ScriphenGinemanager (); ScriptEngine Engine = Manager.GetEngineByName ("JS"); intente {string rath = ejecutescript.class.getResource (""). getPath (); System.out.println (ruta); // El parámetro de FileReader es la ruta del archivo js que se ejecutará motor.eval (new FileReader (ruta + "javascriptmethods.js")); if (motor instancia de invocable) {invocable invocable = (invocable) motor; Métodos ExecuneMethod = invocable.getInterface (métodos.class); System.out.println (ExecutEMethod.Execute ("Li", "Yuncong")); }} catch (Exception e) {E.PrintStackTrace (); }}} Ejecute la clase Executescript y la salida es la siguiente:
/C:/users/yuncong/git/login/target/classes/ejecutescript/liyuncong
Lo anterior se trata de este artículo, espero que sea útil para el aprendizaje de todos.