Heim  >  Artikel  >  Web-Frontend  >  So führen Sie die JS-Codefreigabe in einem Java-Programm aus

So führen Sie die JS-Codefreigabe in einem Java-Programm aus

零到壹度
零到壹度Original
2018-04-14 15:10:311689Durchsuche

Der Inhalt dieses Artikels besteht darin, den Code zum Ausführen von js in einem Java-Programm zu teilen. Er hat einen bestimmten Referenzwert.

Version 1.6 ScriptEngine hat wurde hinzugefügt, um js-Code direkt auszuführen

1. Schreiben Sie js-Code direkt

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

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();  

  }
}


js-Datei

// expression.js 
function merge(a, b) { 
 c = a * b; 
 return c; 
}


Verwandte Empfehlungen:

Java führt direkt JavaScript-Code oder JS-Dateien aus

Rufen Sie js-Code direkt in Java auf

Java ruft die Javascript-Dateimethode auf

JAVA führt JavaScript aus Methoden direkt auf dem Server-Backend

Das obige ist der detaillierte Inhalt vonSo führen Sie die JS-Codefreigabe in einem Java-Programm aus. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn