【问题标题】:Options to call Java method from Javascript从 Javascript 调用 Java 方法的选项
【发布时间】:2011-07-02 21:00:19
【问题描述】:

从 Javascript 调用“特定”Java 方法并进行回调等的各种选项是什么?

例如我知道的一个是使用 DWR ..但想知道是否有任何其他库可以使用,或者这是否可以由 AJAX 本身完成..

推荐的方法是什么?

【问题讨论】:

    标签: java javascript html ajax dwr


    【解决方案1】:

    简而言之,除了运行在与 JavaScript 相同的页面上下文中的 Java 小程序之外,JavaScript 无法直接调用 Java 方法,反之亦然。 DWR 不直接从 JavaScript 调用任何 Java 方法,它向服务器发送 AJAX 请求并使用它自己的中间层来检测请求和响应处理,使其看起来好像在调用 Java 方法。

    但无论如何,让客户端中的 JavaScript 代码和服务器上的 Java 代码相互通信的典型方法是在服务器上定义一个向客户端公开的 API。然后,客户端可以使用公开的 API 发出请求(使用 AJAX 或您喜欢的任何其他机制)。客户端不直接调用任何 Java 方法,而是向服务器上的给定 URL 发送请求,该 URL 被映射回一些 Java 代码。大多数流行的 JavaScript 框架都提供了方便的方法来简化 AJAX 请求处理和回调。

    如果出于某种原因您想要的功能等同于能够在任意类中调用任意方法并将结果返回给您,那么您可以定义一个 API 方法,该方法将类名和方法名作为参数,并且然后使用反射来执行方法调用。这可能与 DWR 的服务器端部分所做的非常接近。

    【讨论】:

    • 一切都很好,除了 REST ;) 它不一定是 RESTful。
    • @Murali 副总裁 - 确实如此。固定。
    【解决方案2】:

    我知道你可以在使用 Mozilla Rhino 时做到这一点,但我猜你说的是浏览器运行时环境,所以这个回复可能不是很有帮助。

    【讨论】:

      猜你喜欢
      • 2016-03-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多