Rhino: Wie gebe ich einen String von Java nach Javascript zurück?

9

Wie benutze ich Rhino, um einen String von Java nach Javascript zurückzugeben, ich bekomme nur org.mozilla.javascript.JavaNativeObject , wenn ich

benutze %Vor%

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.

    
Tirithen 29.10.2010, 09:15
quelle

3 Antworten

3

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.

    
Greg Hewgill 12.11.2010, 10:21
quelle
2

beide funktionieren, aber versuchen Sie zuerst oder gehen Sie durch Rhino-Tutorials   Ссылка

    
Attila 12.11.2010 09:58
quelle
0

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%     
Brian 12.01.2018 11:17
quelle

Tags und Links