我一直在讀一點,但無法找到一個簡單的答案。假設我有一個HTML頁面,並且在該頁面中嵌入了一些Javascript。另外我有一個名爲somePackage.someSubPackage。*的包中有一個java.class;從JavaScript函數中調用Java方法?
我怎麼能夠從我的HTML頁面中的javascript函數調用java.class中的方法?
我一直在讀一點,但無法找到一個簡單的答案。假設我有一個HTML頁面,並且在該頁面中嵌入了一些Javascript。另外我有一個名爲somePackage.someSubPackage。*的包中有一個java.class;從JavaScript函數中調用Java方法?
我怎麼能夠從我的HTML頁面中的javascript函數調用java.class中的方法?
使用DWR
DWR會生成JavaScript允許網頁瀏覽器安全地調用到Java代碼幾乎一樣,如果它是在本地運行。它可以封送幾乎任何數據,包括集合,POJO,XML和二進制數據,如圖像和PDF文件。所有需要的是一個安全策略,它定義了什麼是允許的。
Java在哪裏運行?它可能是瀏覽器中的Applet,或者它可能在某個服務器上運行。
JavaScript到Applet的通信是可能的,see,但這些天最常見的是使用AJAX調用服務器。
您可以使用幾種不同的技術將Java打包爲可調用服務,我建議使用JAX/RS,它只需要很少的工作。然後,您的Java將作爲JavaScript可調用的可調用URL公開。
因此,你需要學習兩兩件事:
兩個不同的問題,但都很容易。
由於System
類是J2SE的一部分,因此對於安裝了Java的任何瀏覽器,此功能「開箱即用」。
<html>
<body>
<script type='text/javascript'>
document.write(java.lang.System.getProperty("java.version"));
</script>
</body>
</html>
得到它的自定義類的工作(在客戶端),它通常會要求這些類被添加到一個腳本化的小程序的類路徑。然後使用JS/applet接口調用訪問屬性的方法&。
簡單的答案 - AJAX – amal