7
votes

Est-ce possible pour utiliser JavaScript pour appeler une méthode Java?

Le Java a un gestionnaire de script qui permet à Java appelant JavaScript, comme celui-ci:

import javax.script.*;
public class ExecuteScript {
 public static void main(String[] args) throws Exception {
 // create a script engine manager
 ScriptEngineManager factory = new ScriptEngineManager();
 // create a JavaScript engine
 ScriptEngine engine = factory.getEngineByName("JavaScript");
 // evaluate JavaScript code from String
 engine.eval("print('Welocme to java world')");
 }

 public static void sayHi(){
   System.out.println("hihi");
 }
}


0 commentaires

4 Réponses :


1
votes

Je ne sais pas quel gestionnaire de script vous utilisez mais avec Rhino Vous pouvez faire des choses comme

ExecuteScript.sayHi();


0 commentaires

8
votes

Le snippet suivant xxx

sorties xxx


2 commentaires

moteur.put (.. semble redondant . D'accord. La réponse a été modifiée


FYI pour vous là-bas, ImportivePackage a besoin d'une ligne supplémentaire avant de fonctionner correctement dans Java 8: Charge ("Nashorn: Mozilla_Compat.js");



5
votes

rapidement piraté ensemble des Javadocs.

Welcome to Java world
es.sayHi()
hihi
Press any key to continue . . .


0 commentaires

1
votes

Voici un exemple minuscule avec Java 8 Nashorn qui fonctionne comme un script autonome sans aucun emballage: xxx

Si vous venez de l'enregistrer dans runjavafromjs.java , puis compilez et exécutez avec xxx

alors vous obtenez: xxx


0 commentaires