>웹 프론트엔드 >JS 튜토리얼 >Java 프로그램에서 JS 코드 공유를 실행하는 방법

Java 프로그램에서 JS 코드 공유를 실행하는 방법

零到壹度
零到壹度원래의
2018-04-14 15:10:311779검색

이 글의 내용은 자바 프로그램에서 js를 실행하는 방법에 대한 코드입니다. 참고할만한 가치가 있으니 필요한 친구들이 참고하면 됩니다.

1.6 버전에서는 js 코드를 직접 실행할 수 있도록 ScriptEngine이 추가되었습니다.

1. js 코드를 직접 작성합니다

import javax.script.ScriptEngine; 
import javax.script.ScriptEngineManager;
import javax.script.ScriptException;   /**  * 直接调用js代码  */
public class ScriptEngineTest {    
public static void main(String[] args) { 
  ScriptEngineManager manager = new ScriptEngineManager();
  ScriptEngine engine = manager.getEngineByName("javascript");
     try{    
          engine.eval("var a=3; var b=4;print (a+b);");
         // engine.eval("alert(\"js alert\");");    // 不能调用浏览器中定义的js函数 // 错误,会抛出alert引用不存在的异常
 }catch(ScriptException e){
 e.printStackTrace();
 }
 }   
}


2. 함수 호출


js 파일

import java.io.FileReader; 
  import javax.script.Invocable;

 import javax.script.ScriptEngine;

 import javax.script.ScriptEngineManager;  
 /**  * Java调用并执行js文件,传递参数,并活动返回值  *   * @author manjushri  */ 

public class ScriptEngineTest {    

public static void main(String[] args) throws Exception {   
ScriptEngineManager manager = new ScriptEngineManager();   
ScriptEngine engine = manager.getEngineByName("javascript");     

String jsFileName = "expression.js";   // 读取js文件   

FileReader reader = new FileReader(jsFileName);   // 执行指定脚本   
engine.eval(reader);   

if(engine instanceof Invocable) {    
Invocable invoke = (Invocable)engine;    // 调用merge方法,并传入两个参数    

// c = merge(2, 3);    

Double c = (Double)invoke.invokeFunction("merge", 2, 3);    

System.out.println("c = " + c);   
}   

reader.close();  

  }
}


관련 추천:

Java JavaScript 코드 또는 js 파일 직접 실행

Java에서 js 코드 직접 호출

java javascript 파일 메소드 호출

JAVA 서버 백엔드에서 직접 JavaScript 메소드 실행

위 내용은 Java 프로그램에서 JS 코드 공유를 실행하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.