You smiled and talked to me of nothing and I felt that for this I had been waiting long.

          The trees come up to my window like the yearning voice of the dumb earth.

          BlogJava 首頁 新隨筆 聯(lián)系 聚合 管理
            19 Posts :: 10 Stories :: 25 Comments :: 0 Trackbacks

          DWR: Easy AJAX for JAVA

          DWR是一個Java開源庫,幫助你實現(xiàn)Ajax網(wǎng)站。

          它可以讓你在瀏覽器中的Javascript代碼調(diào)用Web服務(wù)器上的Java,就像在Java代碼就在瀏覽器中一樣。

          DWR主要包括兩部分:

          • 在服務(wù)器上運行的Servlet來處理請求并把結(jié)果返回瀏覽器。
          • 運行在瀏覽器上的Javascript,可以發(fā)送請求,并動態(tài)改變頁面。
            DWR會根據(jù)你的Java類動態(tài)的生成Javascript代碼。這些代碼的魔力是讓你感覺整個Ajax調(diào)用都是在瀏覽器上發(fā)生的,但事實上是服務(wù)器執(zhí)行了這些代碼,DWR負(fù)責(zé)數(shù)據(jù)的傳遞和轉(zhuǎn)換。

          這種Java和Javascript之間的遠(yuǎn)程調(diào)用會讓DWR用戶感覺像是曾經(jīng)習(xí)慣使用的RMI或SOAP的RPC機(jī)制。而且這一過程還不需要額外的瀏覽器插件。

          Java是同步的,而Ajax是異步的。所以當(dāng)你調(diào)用一個遠(yuǎn)程方法時,你要給DWR一個回調(diào)函數(shù),當(dāng)數(shù)據(jù)從網(wǎng)絡(luò)上回來時,DWR會調(diào)用這個函數(shù)。


          這個圖表現(xiàn)了DWR是如何在onclick事件中改變下拉列表的內(nèi)容的。

          DWR動態(tài)為服務(wù)端AjaxService類(Java)生成了一個相應(yīng)的客戶端AjaxService類(Javascript)。這個類被 eventHandler調(diào)用。DWR就會去處理整個遠(yuǎn)程調(diào)用的細(xì)節(jié),包括在Javascript和Java之間轉(zhuǎn)換參數(shù)和返回值。然后在這里例子中,它 會執(zhí)行你提供的回調(diào)函數(shù)(populateList),這個函數(shù)再利用DWR提供的工具函數(shù)來更改頁面內(nèi)容。

          DWR幫你生產(chǎn)出具有很好交互性的網(wǎng)站,它提供的一些Javascript庫幫你處理DHTML,也提供了一些例子做為參考。

          posted on 2008-05-29 16:46 鉤子 閱讀(182) 評論(0)  編輯  收藏 所屬分類: opensources
          主站蜘蛛池模板: 榆中县| 武平县| 修武县| 志丹县| 自贡市| 荣成市| 绥阳县| 阿克| 遂川县| 枝江市| 冕宁县| 施甸县| 万源市| 格尔木市| 苏尼特左旗| 广安市| 淮滨县| 宾阳县| 资兴市| 绥宁县| 衡阳市| 中牟县| 社旗县| 原平市| 额济纳旗| 通海县| 武城县| 木里| 腾冲县| 杭锦后旗| 花莲县| 镇平县| 河东区| 射洪县| 涿鹿县| 章丘市| 高密市| 莒南县| 襄城县| 灵川县| 华坪县|