Java 실행 JavaScript 코드

1802 단어 JavaJavaScript
우리는 Java에서 JavaScriptMethods를 실행해야 합니다.js의 execute(s1, s2) 방법, JavaScriptMethods.js 파일의 내용은 다음과 같습니다.

function execute(s1, s2){
  return s1 + s2;
}
먼저 인터페이스를 정의해야 합니다. 이 인터페이스는 실행할 JavaScript 방법과 같은 방법으로 서명합니다. 인터페이스 Methods를 정의합니다. 그 내용은 다음과 같습니다.

/**
 *  JavaScript 
 * @author yuncong
 *
 */
public interface Methods {
  public String execute(String s1,String s2);
}
그리고 스크립트 엔진으로 JavaScriptMethods를 실행할 수 있습니다.js에서 execute(s1, s2) 메서드를 사용합니다. 자세한 내용은 다음 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 ScriptEngineManager();
    ScriptEngine engine = manager.getEngineByName("js");
    try {
      String path = ExecuteScript.class.getResource("").getPath();
      System.out.println(path);
      // FileReader js 
      engine.eval(new FileReader(path + "JavaScriptMethods.js"));
      if (engine instanceof Invocable) {
        Invocable invocable = (Invocable) engine;
        Methods executeMethod = invocable.getInterface(Methods.class);
        System.out.println(executeMethod.execute("li", "yuncong"));
      }
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
}
ExecuteScript 클래스를 실행하고 다음과 같이 출력합니다.

/C:/Users/yuncong/git/login/target/classes/executescript/ 
liyuncong
이상은 본문의 전체 내용입니다. 여러분의 학습에 도움이 되기를 바랍니다.

좋은 웹페이지 즐겨찾기