Wie kann ich pass eine javaScript-Funktion, um eine Java-Methode als callback (Rhino)

Grundsätzlich bin ich versucht, übergeben Sie eine javaScript-Funktion, um eine Java-Methode als callback an das Skript.

Kann ich es nicht - irgendwie - aber der Gegenstand den ich erhalten ist eine Sonne.org.mozilla.javascript.intern.InterpretedFunction und ich sehe nicht einen Weg, um es aufzurufen.

Irgendwelche Ideen?

Hier ist, was ich habe, so weit:

var someNumber = 0;

function start() {
   //log is just an log4j instance added to the Bindings
   log.info("started....");
   someNumber = 20;

    //Test is a unit test object with this method on it (taking Object as a param).
    test.callFromRhino(junk);
}

function junk() {
    log.info("called back " + someNumber);
}
  • Dies ist ein applet? Wenn nicht, es ist unmöglich, da der JavaScript-code ausgeführt wird client-Seite, während der Java-Code ausgeführt wird server-Seite. Sie sind Laufzeit-Variablen sind verloren in diesem Prozess. Sie müssen aufrufen, die Java über eine POST oder GET verlangen, die Weitergabe Ihrer Daten als Anfrage-parameter.
  • Rhino ist eine JavaScript-interpreter in Java geschrieben (es ist Bestandteil der Java 6 JVM, die als Teil der script-API).
  • Die OP war nicht ab, die Laufzeit, den er versuchte zu rufen, die Rhino - /JavaScript-Funktion.
InformationsquelleAutor sproketboy | 2010-05-15
Schreibe einen Kommentar