从Javascript调用“特定”Java方法并进行回调等的各种选项是什么?从Javascript调用Java方法的选项
例如一个我知道的是使用DWR ..但想知道是否有任何其他库可以使用,或者如果这可以通过AJAX本身完成..
什么是推荐的方法?
从Javascript调用“特定”Java方法并进行回调等的各种选项是什么?从Javascript调用Java方法的选项
例如一个我知道的是使用DWR ..但想知道是否有任何其他库可以使用,或者如果这可以通过AJAX本身完成..
什么是推荐的方法?
简而言之,除了在与JavaScript相同的页面上下文中运行的Java applet之外,JavaScript无法直接调用Java方法,反之亦然。 DWR不是直接从JavaScript调用任何Java方法,而是向服务器发送一个AJAX请求,并使用它自己的中间层来处理请求和响应处理,使其看起来好像它正在调用Java方法。
但无论如何,获取客户端的JavaScript代码和服务器上的Java代码相互交谈的典型方法是在暴露给客户端的服务器上定义一个API。然后,客户端可以使用暴露的API发出请求(使用AJAX或其他任何您喜欢的机制)。客户端不直接调用任何Java方法,而是向服务器上的给定URL发送请求,该请求被映射回某些Java代码。大多数流行的JavaScript框架提供了简化AJAX请求处理和回调的便捷方法。
如果由于某种原因,您希望功能等同于能够在任意类中调用任意方法并将结果返回给您,那么您可以定义一个API方法,该方法将类名称和方法名称作为参数然后使用反射来执行方法调用。这可能与DWR的服务器端部分非常接近。
除了REST的一切都很好;)它不一定是RESTful。 –
@Murali副总裁 - 确实如此。固定。 – aroth