2011-08-11 126 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接口調用訪問屬性的方法&。