Wie benutze ich Rhino, um einen String von Java nach Javascript zurückzugeben, ich bekomme nur org.mozilla.javascript.JavaNativeObject
, wenn ich
in meiner js-Datei.
Ist das der richtige Weg?
%Vor%Das Ziel ist, eine Java-Methode zu haben, die das String-Objekt zurückgibt, anstatt es im laufenden Betrieb wie oben zu erstellen.
Im Allgemeinen würden Sie Context.javaToJS
, das ein Java-Objekt in die am nächsten liegende Darstellung in Javascript konvertiert. Bei String
-Objekten gibt diese Funktion jedoch die Zeichenfolge selbst zurück, ohne sie umbrechen zu müssen. Wenn Sie also immer einen String zurückgeben, müssen Sie nichts Besonderes tun.
Obwohl in den meisten Fällen der zurückgegebene Java-String-Typ genau wie der JS-String-Typ innerhalb des JS-Codes verwendet werden kann, hat er nicht die gleichen Methoden!
Insbesondere konnte ich feststellen, dass es nicht in einem JS-Objekt verwendet werden kann, das an 'stringify ()' übergeben wurde, da es nicht die Methode toJSON () hat.
Die einzige Lösung, die ich gefunden habe, ist das explizite Hinzufügen von "" in JS, um den Java-String in einen JS-String umzuwandeln. Ich habe keine Möglichkeit gefunden, die Java-Methode so zu codieren, dass eine gute JS-Zeichenkette direkt zurückgegeben wird ... (da Context.javaToJS () keine Java-Zeichenkette konvertiert) ZB:
%Vor%Tags und Links javascript string java rhino