如何使用Nashorn从Java方法返回真正的JavaScript数组?

时间:2016-03-28 15:46:02

标签: javascript java arrays nashorn

我正在编写一些API,供一些JavaScript代码使用。此API中的某些方法应返回真正的JavaScript数组。不幸的是,这不起作用:

for

虽然代理支持// MyApi.java public class MyApi { String[] returnsJavaArray(); List<String> returnsJavaList(); } // MyScript.js var api = getMyApi(); var strings = api.returnsJavaArray(); // Returns some kind of proxy strings = api.returnsJavaList(); // Also a proxy 等基本内容,但我需要将它们作为实际数组才能使用某些Array polyfill。 Nashorn最好的办法是什么?

到目前为止,我唯一的想法是编写整个strings[i]的JavaScript包装器并用MyApi包装结果,但这非常繁琐。

1 个答案:

答案 0 :(得分:-1)

你应该让你的API返回一串js。 然后,在您的js文件中,您可以调用

eval(stringOfJsReturnFromServer); 

使您的脚本运行