从JavaScript函数中调用Java方法?

时间:2011-08-11 07:50:46

标签: java javascript html jsp

我一直在阅读,但无法找到一个简单的答案。假设我有一个HTML页面,并且该页面中嵌入了一些Javascript。另外,我在一个名为somePackage.someSubPackage。*;

的包中有一个java.class

我如何能够在HTML页面中的javascript函数中调用java.class中的方法?

3 个答案:

答案 0 :(得分:4)

Java将在哪里运行?它可以是浏览器中的Applet,也可以在某个服务器上运行。

可以使用JavaScript与Applet通信see,但最常见的是使用对服务器的AJAX调用。

您可以使用几种不同的技术将Java封装为可调用服务,我建议使用JAX / RS,它只需要很少的工作。然后,您的Java将作为JavaScript可以调用的可调用URL公开。

因此你需要研究两件事:

  1. 如何从JavaScript调用任意服务。
  2. 如何在服务器中运行Java。
  3. 两个单独的问题,但都很容易。

答案 1 :(得分:1)

使用DWR

  

DWR将生成JavaScript,以允许Web浏览器安全地调用Java代码,就像它在本地运行一样。它几乎可以封送任何数据,包括集合,POJO,XML和二进制数据,如图像和PDF文件。所需要的只是一个定义允许内容的安全策略。

答案 2 :(得分:1)

对于任何安装了Java的浏览器,这都是“开箱即用”的,因为System类是J2SE的一部分。

<html>
<body>
<script type='text/javascript'>
document.write(java.lang.System.getProperty("java.version"));
</script>
</body>
</html>

为了让它适用于自定义类(在客户端),通常需要将这些类添加到可编写脚本的applet的类路径中。然后使用JS / applet接口调用方法&amp;访问属性。