Rufen Sie Java-Methoden aus JavaScript auf, das in Java ausgeführt wird

■ Originaldokument (1) https://docs.oracle.com/javase/jp/6/technotes/guides/scripting/programmer_guide/ ■ Originaldokument (2) https://developer.mozilla.org/ja/docs/Rhino/Scripting_Java


package pkg;

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

public class HelloJavaScript {

	public void run() {

		System.err.println("hello!");

	}

	public static void main(String[] args) {

		// see
		// https://developer.mozilla.org/ja/docs/Rhino/Scripting_Java
		// These packages are likely not in the java package, so you'll need to
		// prefix the package name with "Packages."

		// Get the JavaScript engine
		ScriptEngineManager manager = new ScriptEngineManager();
		ScriptEngine engine = manager.getEngineByName("JavaScript");

		String script = "" //
				+ "var obj = new Packages.pkg.HelloJavaScript();" //
				+ "obj.run();" //
		;

		try {
			engine.eval(script);
		} catch (ScriptException e) {
			e.printStackTrace();
		}

	}

}

Recommended Posts

Rufen Sie Java-Methoden aus JavaScript auf, das in Java ausgeführt wird
Java-Methodenaufruf von RPG (Methodenaufruf in eigener Klasse)
Rufen Sie die Super-Methode in Java auf
Rufen Sie Java von JRuby aus auf
[Android] Rufen Sie Kotlins Standardargumentmethode von Java aus auf
[Java] KFunction von Method / Constructor in Java abrufen [Kotlin]
Versuchen Sie, JavaScript in Java aufzurufen
Rufen Sie eine Methode mit Kotlins Rückrufblock von Java aus auf
Rufen Sie ein in Swift geschriebenes Programm von Processing (Java) auf.
JavaScript von Java aus gesehen
Implementieren Sie die Java-Schnittstelle in der JRuby-Klasse und rufen Sie sie von Java aus auf
[Kotlin] Holen Sie sich Java Constructor / Method von KFunction und rufen Sie es auf
Rufen Sie Chain from Chain in Spring Integration auf
Rufen Sie Kotlins versiegelte Klasse von Java aus an
Automatische Methode zur Größenänderung von Fotos von Java
Java, JavaScript, C # (Unterschied in der Zuordnung)
Der Weg von JavaScript nach Java
Rufen Sie die Java-API von TensorFlow von Scala aus auf
Java-Methode
Java (Methode)
Java-Methode
[Java] -Methode
[Java] -Methode
Rufen Sie die Java-Bibliothek von C mit JNI auf
Rufen Sie die GitHub-API über Javas Socket-API Teil2 auf
OCR in Java (Zeichenerkennung aus Bildern)
Rufen Sie die Windows-Benachrichtigungs-API in Java auf
Parallelitätsmethode in Java mit grundlegendem Beispiel
Schlüssel vom Wert in Java Map umkehren
Verwenden Sie "Rhino", das JavaScript in Java ausführt
Was ist die Hauptmethode in Java?
Abrufen des Verlaufs vom Zabbix-Server in Java
Rufen Sie die visuelle Erkennung im Watson Java SDK auf
Elementoperationsmethode in Appium TIPS (Java)
[Java] Übergeben Sie Argumente an den Konstruktor in Mockito / Set default call to method an callRealMethod
JSON in Java und Jackson Teil ③ Betten Sie JSON in HTML ein und verwenden Sie es aus JavaScript
GetInstance () aus einer @ Singleton-Klasse in Groovy aus Java
[Java] Behandlung von Java Beans in der Methodenkette
[Java] Dynamischer Methodenaufruf durch Reflektion des Aufzählungstyps (Aufzählung)
Partisierung in Java
Änderungen in Java 11
Java8-Methodenreferenz
Ich habe versucht, eine Java-Methode von ABCL zu verwenden
Janken in Java
Unterschiede beim Schreiben von Java-, C # - und Javascript-Klassen
So erhalten Sie eine Klasse von Element in Java
Textextraktion in Java aus PDF mit pdfbox-2.0.8
[Java] forEach-Methode
Methodenname der statischen Factory-Methode, die aus Java 8 gelernt wurde
Erfassen und speichern Sie die Selen-Installation in Java
Holen Sie sich Unixtime (Sekunden) von ZonedDateTime in Scala / Java
Java und JavaScript
[Deep Learning von Grund auf neu] in Java 3. Neuronales Netzwerk
Methodenname der Methodenkette in Java Builder + α
Java8-Methodenreferenz
Umfangsrate in Java
Überprüfen Sie die Argumente für Methodenaufrufe in Blöcken mit RSpec
[Java] Zufällige Methode
[Java] Split-Methode