【问题标题】:Link javascript web application to java将 javascript Web 应用程序链接到 java
【发布时间】:2013-10-02 13:32:13
【问题描述】:

我正在尝试让 java 和 javascript 相互交流。理想情况下,我希望它们共享对象,但 java 应用程序调用 javascript 函数就足够了。我试过 Rhino 但有点挣扎,因为它似乎无法在正在运行的 js 引擎中调用函数(也许我只是不知道怎么做?)。有关如何使此链接发生的任何提示?性能是一个问题,但不是非常关键。

基本上;我有一个使用 javascript 动态更新页面内容的 Web 应用程序。页面的内容是通过 java 代码创建的,所以我需要一种方法让 java 代码告诉 javascript 什么时候发生了变化以及发生了什么变化。

谢谢

LiveConnect 似乎可以解决问题,但小程序会导致安全漏洞。 Java8 中的 Nashorn 会和 Rhino 一样吗?还是能够保持运行的 JVM 并监听调用?

【问题讨论】:

  • 您需要更详细地解释您的目标。
  • Rhino(以及整个 javax.script 包)允许您从 Java 中调用 Javascript,而不是相反。除其他外,您可以传递 javascript java 对象,javascript 可以访问 Java 类,并且您可以让您的 javascript 实现 Java 接口。它创建自己的 JavaScript 引擎来执行代码。我看不出它如何以您想要的方式与随机的外部设备一起使用。

标签: java javascript web-applications rhino nashorn


【解决方案1】:

没有办法让 Java 后端和 JavaScript 以您暗示的方式直接相互通信。使它们通信的唯一方法是通过 AJAX 或 WebSockets。

【讨论】:

  • 似乎 Nashorn 可以解决问题,但我可以从 JS 访问我的 Java 对象,反之亦然。但是,nashorn 没有窗口等功能。
  • 从例如使用库等Node.js 和类似的,事实证明 Rhino/Nashorn 并没有削减它。我最终使用了 WebSockets。
猜你喜欢
  • 2013-03-28
  • 2010-09-07
  • 2017-03-17
  • 2016-05-25
  • 1970-01-01
  • 2014-05-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多