2011-08-11 120 views
0

我一直在读一点,但无法找到一个简单的答案。假设我有一个HTML页面,并且在该页面中嵌入了一些Javascript。另外我有一个名为somePackage.someSubPackage。*的包中有一个java.class;从JavaScript函数中调用Java方法?

我怎么能够从我的HTML页面中的javascript函数调用java.class中的方法?

+0

简单的答案 - AJAX – amal

回答

1

使用DWR

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

4

Java在哪里运行?它可能是浏览器中的Applet,或者它可能在某个服务器上运行。

JavaScript到Applet的通信是可能的,see,但这些天最常见的是使用AJAX调用服务器。

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

因此,你需要学习两两件事:

  1. 如何从JavaScript调用任意的服务。
  2. 如何在服务器中运行Java。

两个不同的问题,但都很容易。

1

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

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

得到它的自定义类的工作(在客户端),它通常会要求这些类被添加到一个脚本化的小程序的类路径。然后使用JS/applet接口调用访问属性的方法&。