So führen Sie eine externe JavaScript-Datei mit ScriptEngine aus

Dieses Beispiel soll zeigen, wie die Skriptdateien geladen werden ScriptEngine und bewerten Sie es. In unserem vorherigen Beispiel habe ich erklärt, wie man ein Skript in die Java-Datei schreibt und es in der Java-Methode verwendet. Im realen Szenario werden Skripte mit einer Menge Code in die externen Dateien geschrieben. Wir haben die Datei mit den Dateireadern geladen.

In diesem Beispiel werden folgende Dinge ausgeführt:

  • Erstellen Sie ScriptEngineManager und ScriptEngine
  • Erstellen Sie eine externe Skriptdatei mit dem Namen Eval.js
  • Erstellen Sie FileReader zum Lesen der Skriptdatei
  • Laden Sie die Skriptdatei, indem Sie den FileReader mit der Methode ScriptEngine.eval() übergeben
  • Rufen Sie die Methoden auf

JavaScriptEngineEvalExample.java

package javabeat.net.script;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.Reader;

import javax.script.Invocable;
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
import javax.script.ScriptException;

/**
 * Load Script File Example
 *
 * @author Krishna
 *
 */
public class JavaScriptEngineEvalExample {
	public static void main(String() args) throws ScriptException,
			FileNotFoundException, NoSuchMethodException {

		// Create ScriptEngineManager
		ScriptEngineManager engineManager = new ScriptEngineManager();

		// Create ScriptEngine
		ScriptEngine engine = engineManager.getEngineByName("ECMAScript");

		//Create file and reader instance for reading the script file
		File file = new File("Eval.js");
		Reader reader = new FileReader(file);

		//Pass the script file to the engine
		engine.eval(reader);
		System.out.println("Java Program Output");
		//Create invocable instance
		Invocable invocable = (Invocable) engine;

		//Invoke the methods defined in the script file
		invocable.invokeFunction("firstFn", "Eval.js");

	}
}

Eval.js

println("Loaded the scripts");
function firstFn(name){
	println("This Method written in script file : "+name);
}

Ausgabe…

Loaded the scripts
Java Program Output
This Method written in script file : Eval.js

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Nach oben scrollen