繁体   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