iT邦幫忙

0

js呼叫java變數

請問各位大大:
除了DWR以及java撈javascript的腳本(engine)
這兩種方法外
還有什麼方法可以讓這兩種code做溝通嗎?

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

6
fillano
iT邦超人 1 級 ‧ 2010-10-19 00:06:51
最佳解答

DWR做了很多事情,才讓你使用Javascript看起來好像直接在溝通,資料還是透過ajax傳遞的,不過透過由伺服器產生Javascript的方式,來簡化你跟伺服器端溝通的邏輯。

看更多先前的回應...收起先前的回應...
estela iT邦新手 4 級 ‧ 2010-10-19 13:06:42 檢舉

那麼,請問一下
除了DWR和java函式中的engine這兩種方法外
您知道還有沒有其他做溝通的方法嗎?

fillano iT邦超人 1 級 ‧ 2010-10-20 01:05:11 檢舉

不知道你想要做怎樣的溝通XD

現在的Java本來就支援scripting language,包括javascript,所以直接在jvm裡面是可以跑javascript的,而且也可以直接使用lib提供的各種類別。

如果你指的是網頁與伺服器端的溝通,最底層只有http啦,http提供幾種method可以操作(GET, POST, PUT, DELETE等,不過常用的就只有GET, POST),跟伺服器就是用這些方法溝通,其他你看到的東西,只是經過包裝而已。

所以,不知道精確地說,你想要問的溝通是什麼?

estela iT邦新手 4 級 ‧ 2010-10-24 18:31:43 檢舉

我想請教的是 如何把js的變數丟到java執行過後再回丟給js接
這樣的處理
除了以上兩種方式 請教大大 還有什麼樣的方式呢?
(近期看到了applet也可以呼叫進去 不過這也不是我需要的)

fillano iT邦超人 1 級 ‧ 2010-10-27 10:37:43 檢舉

我想說的是,這些所謂的「呼叫」,其實是包裝過的假象,目的是方便你使用與伺服器端整合的前端程式,不需要自己蓋樓。

實際上,前端與後端的溝通方法從來沒變過,都是http(hypertext transfer protocol),或是RFC2616,而且也只有這個方法,包括AJAX也一樣。

你使用DWR的時候,他會用程式產生與Server上定義的類別相對應的Javascript,所以讓你感覺好像在使用Javascript與伺服器溝通,操作這些類別。不過這底下包裝了許多東西,包括前端與後端的溝通、定義與整合等等。

可以參考這個連結:
http://ajaxpatterns.org/Server-Side_Code_Generation

這樣的model,對於後端使用任何程式語言都是有效的。

fillano iT邦超人 1 級 ‧ 2010-10-27 10:42:35 檢舉

另外,在單純的溝通上,也許使用JSON會比較方便,你可以考慮怎樣包裝,讓伺服器端可以剖析JSON成Java物件,或是把Java物件轉為JSON丟給Javascript處理。溝通的話還是透過AJAX。

我要發表回答

立即登入回答