2014-02-06 91 views
0

有沒有可能調用存儲在Javascript中的HTTP會話中的Java對象的setter方法?從javascript中訪問java對象的成員函數

我設法訪問的getter這樣的:

var result='<%=((MyObject) portletSession.getAttribute("resultObj")).getValue() %>'; 

但我需要重新設置這個結果在Javascript一些修改之後。

這是可能的,還是應該放棄我的想法?

回答

2

這是不可能的,你覺得是這樣的。

重要的是要知道,在您的服務器完成運行發送回內容的Java進程的之後,在瀏覽器中執行Javascript。在Javascript中運行的代碼與服務器上的JVM進程之間沒有任何關聯 - 此代碼運行在兩個不同的位置。

您可以在Javascript功能來讀取Java會話屬性時服務器產生的JavaScript來管向下發送給用戶。但是,一旦用戶的瀏覽器正在執行代碼,運行在其他人計算機上的代碼就不會奇蹟般地改變服務器上的值。

你要考慮把從用戶的瀏覽器(在JavaScript)異步HTTP請求到服務器。

+0

總之'會話'在服務器上,腳本在客戶端上。所以不行。 –

0

不,這是不可能的。

運行的Java和瀏覽器中的服務器和JavaScript。這些之間沒有任何類型的連接。你需要某種服務來調用遠程功能

0

有沒有可能調用java對象的setter方法存儲在JavaScript會話中的JavaScript?

你不行。 java在服務器端和客戶端的JavaScript上播放。所以大沒有

,但我需要在JavaScript中做一些修改後重新設置這個結果。

再次。您需要發送一個服務器請求以便向java發送一些值。

看來你需要Asynchronous call。瞭解Ajax.

相關問題