【问题标题】:How does the "jimport" function from "etherpad" work?“etherpad”中的“jimport”功能如何工作?
【发布时间】:2011-06-22 10:32:53
【问题描述】:

在 etherpad 的源代码中,我看到了如下代码:

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

但它看起来不像某种 javascript 标准。

它是如何完成的?

【问题讨论】:

  • 对不起。误读了您的问题!

标签: java javascript html


【解决方案1】:

看起来您正在查看etherpad 来源。他们在那里定义了一个名为 jimporthelper function

如前所述,etherpad 使用 Rhino 作为其 Javascript 引擎,Java 触手可及。这样就够了

file = java.io.File

为了“导入”它。

该函数使用辅助函数_jimportSinglePackage,将Java包注入本地Javascript作用域。

这个函数接收包名,以及它将注入包的全局范围,并给定a.b.c,它实际上调用globalscope[c] = a.b.c,以便import这个Java包。

【讨论】:

    【解决方案2】:

    在 JavaScript 中加载 Java 库的能力高度依赖于您使用的服务器端 JavaScript 框架。

    Rhino 绝对支持加载 Java。来自文档:

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

    【讨论】:

      【解决方案3】:

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

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

      更多详情请见Call a Java method from Javascript

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-10-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-01-02
        • 2012-02-24
        相关资源
        最近更新 更多