“etherpad”中的“jimport”功能如何工作?

时间:2011-06-22 10:32:53

标签: java javascript html

在etherpad的源代码中,我见过类似的代码:

jimport(java.util.Date, "JDate");

但它似乎不是某种javascript标准。

怎么做?

3 个答案:

答案 0 :(得分:4)

看起来您正在查看etherpad来源。他们在那里定义了一个名为jimport的{​​{3}}。

如上所述,etherpad使用Rhino作为其Javascript引擎,可以轻松获得Java。

就足够了
file = java.io.File

以“导入”它。

此函数使用辅助函数_jimportSinglePackage将Java包注入本地Javascript范围。

此函数接收包名称,以及它将包注入的全局范围,并且给它a.b.c本质上调用globalscope[c] = a.b.c,以便import这个Java封装

答案 1 :(得分:3)

在JavaScript中加载Java库的能力在很大程度上取决于您正在使用的服务器端JavaScript框架。

Rhino肯定支持加载Java。来自文档:

js> importPackage(java.io)
js> File
[JavaClass java.io.File]

答案 2 :(得分:1)

从JavaScript使用Java类的另一种方法:

<html>
<body>
<script type="text/javascript">
document.write(new java.util.Date());
</script>
</body>
</html>

有关详细信息,请参阅Call a Java method from Javascript