請問各位大大:
除了DWR以及java撈javascript的腳本(engine)
這兩種方法外
還有什麼方法可以讓這兩種code做溝通嗎?
DWR做了很多事情,才讓你使用Javascript看起來好像直接在溝通,資料還是透過ajax傳遞的,不過透過由伺服器產生Javascript的方式,來簡化你跟伺服器端溝通的邏輯。
那麼,請問一下
除了DWR和java函式中的engine這兩種方法外
您知道還有沒有其他做溝通的方法嗎?
不知道你想要做怎樣的溝通XD
現在的Java本來就支援scripting language,包括javascript,所以直接在jvm裡面是可以跑javascript的,而且也可以直接使用lib提供的各種類別。
如果你指的是網頁與伺服器端的溝通,最底層只有http啦,http提供幾種method可以操作(GET, POST, PUT, DELETE等,不過常用的就只有GET, POST),跟伺服器就是用這些方法溝通,其他你看到的東西,只是經過包裝而已。
所以,不知道精確地說,你想要問的溝通是什麼?
我想請教的是 如何把js的變數丟到java執行過後再回丟給js接
這樣的處理
除了以上兩種方式 請教大大 還有什麼樣的方式呢?
(近期看到了applet也可以呼叫進去 不過這也不是我需要的)
我想說的是,這些所謂的「呼叫」,其實是包裝過的假象,目的是方便你使用與伺服器端整合的前端程式,不需要自己蓋樓。
實際上,前端與後端的溝通方法從來沒變過,都是http(hypertext transfer protocol),或是RFC2616,而且也只有這個方法,包括AJAX也一樣。
你使用DWR的時候,他會用程式產生與Server上定義的類別相對應的Javascript,所以讓你感覺好像在使用Javascript與伺服器溝通,操作這些類別。不過這底下包裝了許多東西,包括前端與後端的溝通、定義與整合等等。
可以參考這個連結:
http://ajaxpatterns.org/Server-Side_Code_Generation
這樣的model,對於後端使用任何程式語言都是有效的。
另外,在單純的溝通上,也許使用JSON會比較方便,你可以考慮怎樣包裝,讓伺服器端可以剖析JSON成Java物件,或是把Java物件轉為JSON丟給Javascript處理。溝通的話還是透過AJAX。