2011-06-02 51 views

回答

2

爲此,您可以使用第三方庫像Rhino,但有從Java調用JavaScript代碼中沒有直接的方法。雖然兩者的名字相似,但它們與汽車和焦糖一樣常見。

更一般地說,使用一種語言編寫的程序與使用另一種語言編寫的語言進行交互通常是棘手的,因爲兩種編程語言實現的內部不兼容。這條規則有許多例外,並且已經投入了大量的精力來使項目以多種語言工作,但是啓動成本通常很高。

+1

那麼無論是Mozilla/Rhino集成庫還是JDK 1.6「ScriptEngine」的東西,從Java調用JavaScript實際上都非常簡單。實際上,ScriptEngine工具可以將包裝在實現任何API的ScriptEngine實例的對象上交回,並從該對象中直接調用JavaScript。 – Pointy 2011-06-02 23:03:20

+0

謝謝我會嘗試它...我想這是非常多的IM尋找...(: – adi 2011-06-02 23:08:48

0

是的,您可以通過從Mozilla獲取Rhino並使用其集成庫或使用JDK 1.6「ScriptEngine」工具。

包含在JDK 6中的Rhino版本(Mozilla創作的Java實現的JavaScript引擎)相當老舊並且有問題,需要警告。

0

LiveConnect很好地做到了這一點,請參閱JSObject的參考和示例。您可能會對JSObject.eval感興趣,這將使您能夠在任何JavaScript對象的上下文中執行JavaScript代碼。

+0

我認爲這裏的問題是關於服務器端Java代碼,而不是applets。 – Pointy 2011-06-02 23:04:30

+0

哦,對不起。然後。 – Ryan 2011-06-02 23:05:45