Appel de méthodes Java à partir de JavaScript exécutées en Java

■ Document original (1) https://docs.oracle.com/javase/jp/6/technotes/guides/scripting/programmer_guide/ ■ Document original (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

Appel de méthodes Java à partir de JavaScript exécutées en Java
Appel de méthode Java depuis RPG (appel de méthode dans sa propre classe)
Appelez la super méthode en Java
Appeler Java depuis JRuby
[Android] Appeler la méthode d'argument par défaut de Kotlin depuis Java
[Java] Obtenir KFunction à partir de la méthode / du constructeur en Java [Kotlin]
Essayez d'appeler JavaScript en Java
Appeler une méthode avec le bloc de rappel de Kotlin depuis Java
Appeler un programme écrit en Swift depuis Processing (Java)
JavaScript vu de Java
Implémentez l'interface Java dans la classe JRuby et appelez-la depuis Java
[Kotlin] Obtenez le constructeur / la méthode Java de KFunction et appelez-le
Chaîne d'appels depuis la chaîne dans l'intégration Spring
Appeler la classe scellée de Kotlin depuis Java
Méthode de redimensionnement automatique des photos par Java
Java, JavaScript, C # (différence d'affectation)
La route de JavaScript à Java
Appelez l'API Java de TensorFlow depuis Scala
Méthode Java
java (méthode)
Méthode Java
[Java] méthode
[Java] méthode
Appeler la bibliothèque Java à partir de C avec JNI
Appeler l'API GitHub à partir de l'API Socket de Java, partie 2
OCR en Java (reconnaissance de caractères à partir d'images)
Appelez l'API de notification Windows en Java
Méthode de concurrence en Java avec exemple de base
Inverser la clé de la valeur dans la carte Java
Utilisez "Rhino" qui exécute JavaScript en Java
Quelle est la méthode principale en Java?
Obtenir l'historique du serveur Zabbix en Java
Appeler la reconnaissance visuelle dans Watson Java SDK
Méthode d'opération d'élément dans Appium TIPS (Java)
[Java] Passer des arguments au constructeur dans Mockito / Définir l'appel par défaut à la méthode à callRealMethod
JSON en Java et Jackson Part ③ Incorporer JSON dans HTML et l'utiliser à partir de JavaScript
GetInstance () à partir d'une classe @Singleton dans Groovy à partir de Java
[Java] Gestion des Java Beans dans la chaîne de méthodes
[Java] Appel de méthode dynamique par réflexion du type enum (enum)
Partition en Java
Changements dans Java 11
Référence de la méthode Java8
J'ai essayé de frapper une méthode Java d'ABCL
Janken à Java
Différences dans l'écriture des classes Java, C # et Javascript
Comment obtenir une classe depuis Element en Java
Extraction de texte en Java à partir de PDF avec pdfbox-2.0.8
[Java] méthode forEach
Nom de la méthode de la méthode de fabrique statique apprise à partir de Java 8
Capture et sauvegarde de l'installation de sélénium en Java
Obtenez unixtime (secondes) de ZonedDateTime dans Scala / Java
Java et JavaScript
[Deep Learning from scratch] dans Java 3. Réseau neuronal
Nom de méthode de la chaîne de méthodes dans Java Builder + α
référence de la méthode java8
Taux circonférentiel à Java
Vérifier les arguments d'appel de méthode dans les blocs avec RSpec
[Java] Méthode aléatoire
[Java] méthode de fractionnement