Queremos executar o método Execute (S1, S2) em javascriptMethods.js. O conteúdo do arquivo javascriptMethods.js é o seguinte:
função execute (s1, s2) {return s1 + s2;}Primeiro, você precisa definir uma interface, que fornece a mesma assinatura do método que o método JavaScript a ser executado. Definimos os métodos de interface e seu conteúdo é o seguinte:
/** * A assinatura do método na interface deve ser consistente com o método JavaScript a ser executado * @Author Yuncong * */Métodos de interface pública {public String Execute (String S1, String S2);}Em seguida, você pode usar o mecanismo de script para executar o método Execute (S1, S2) em JavaScriptMethods.js. O conteúdo específico é escrito na seguinte classe ExecutScript:
importar java.io.fileReader; importar javax.script.invocable; importar javax.script.scriptEngine; importar javax.script.scriptEngineManager; public class; ScriptEngine mecan = gerente.getEngineByName ("js"); tente {string path = executescript.class.getResource (""). getPath (); System.out.println (caminho); // O parâmetro do FileReader é o caminho do arquivo JS a ser executado mecanismo.eval (novo fileReader (caminho + "javascriptMethods.js")); if (instância do mecanismo de invocável) {invocável invocável = (invocável) mecanismo; Métodos executemethod = invocable.getInterface (métods.class); System.out.println (executemethod.execute ("li", "yuncong")); }} catch (Exceção e) {e.printStackTrace (); }}} Execute a classe ExecutScript e a saída é a seguinte:
/C:/usuários/yuncong/git/login/target/classes/executescript/liyuncong
O exposto acima é tudo sobre este artigo, espero que seja útil para o aprendizado de todos.