簡體   English   中英

Nashorn / Rhino將字符串從Java轉換為Javascript

[英]Nashorn/Rhino to convert a string from Java to Javascript

我正在使用Play Framework,並且有一個.java控制器文件,在其中獲取字符串數組。 我想將此Java數組傳遞到將使用Javascript的html文件中,以便使用Flot Charts繪制數據。 數據“傳輸”在渲染中完成。 它是這樣的:

String[] array = new String[list.size()];
int i = 0;
for (Sample sample : list) {
    array[i++] = sample.getContent();
}
render(array);

但是當我無法在views文件夾內的.html文件中調用此變量時。 如果我使用$ {array},Firebug會告訴我它無法將其識別為有效的JS String數組。 我已經讀過Rhino或Nashorn可以解決問題,但是我不知道它們是否是最好和最簡單的選擇。 有任何想法嗎? 謝謝!

我對Play Framework不熟悉,但是我正在用Java和javascript(使用Nashorn)中的SparkJava做類似的事情。

我建議使用Boon庫生成json: https : //github.com/boonproject/boon

這是一個Nashorn小片段,可幫助您快速掌握Java的適用性:

// 1st we create a factory to serialize json out
var jso = new org.boon.json.JsonSerializerFactory().create();
// 2nd we directly use boon on array variable. Boon supports out of the box many pure java objects
jso.serialize(o);

在您的特定情況下,您需要將特定渲染的Play輸出配置為application/json並可能使用render(jso.serialize(o)); 代替我給的小片段。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM