亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

dwr簡介

系統 1929 0

最近 Ajax 比較火,全世界都在討論。于是我也摻和摻和,直接用 XMLHttpRequest ?現在的我還沒有那個水平。用 Echo2 或者 backbase ,又感覺那些純 Ajax framework 太重量級了。我要的只是一些簡單的應用而已。于是尋覓的重點放在了一些對 xmlhttpRequest 進行輕量級包裝的代碼庫上了。于是我找到了 DWR Direct Web Remoting )。 DWR 的口號是 AJAX and XMLHttpRequest made easy ,并且它也基本上做到了這一點。它提供了一個友好的框架和一些很有用的 JavaScript 庫,可以讓我用起 Ajax 更容易些。詳細的信息可以到他們的網站 http://www.getahead.ltd.uk/dwr/ 。順便在介紹一個網站吧: http://www.ajaxmatters.com 這里也有很多關于 Ajax 的資源。

<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

?

下面來簡單介紹一下 DWR

其實在沒有 XMLHttpRequest DWR 就有了,那時它用的是 IFrame ,效果很差,所以我看看了就沒有再 diao 它。現在的 DWR 主要用 XMLHttpRequest ,當然也可以選者用 IFrame ,但是不推薦。

DWR 是個 open source software ,授權方式是 ASL version 2.0 的。現在網站上 examples and tutorials 做的也不錯。我就根據這些東西自己也做了一個應用,在本文的后面我會詳細講到。

現在 DWR 的最新版本是 1.0RC1 。在我的試用環境相還算比較穩定,沒有出現什么問題。

DWR 本身以一個 dwr.jar jar 包存在,它的入口時一個 Servlet uk.ltd.getahead.dwr.DWRServlet )所以要在 web.xml 里配置一下就可以了。具體配置看這里 http://www.getahead.ltd.uk/dwr/intro.html 。比較簡單。 dwr 為我們提供了一個 framework 幫我們很容易的實現 JavaScript java 之間的通信。

<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" /><shapetype id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f"><stroke joinstyle="miter"></stroke><formulas><f eqn="if lineDrawn pixelLineWidth 0"></f><f eqn="sum @0 1 0"></f><f eqn="sum 0 0 @1"></f><f eqn="prod @2 1 2"></f><f eqn="prod @3 21600 pixelWidth"></f><f eqn="prod @3 21600 pixelHeight"></f><f eqn="sum @0 0 1"></f><f eqn="prod @6 1 2"></f><f eqn="prod @7 21600 pixelWidth"></f><f eqn="sum @8 21600 0"></f><f eqn="prod @7 21600 pixelHeight"></f><f eqn="sum @10 21600 0"></f></formulas><path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"></path><lock v:ext="edit" aspectratio="t"></lock></shapetype>

howitworks.png
我還沒有看過
dwr 的源碼,具體他是怎么實現的我也不太清楚。但大致上肯定是通過 xmlhttprequest 來調用它的 servlet 然后把數據用 xml 打包解包了。其實我覺得這部分到不是 dwr 給我帶來的最方便的地方。最方便的地方應該是他的那些 js 的庫。

所以下面我要介紹一下它的兩個重要 js 對象。

DWREngine engine.js 中), DWRUtil (util.js )

DWREngine 中的方法是基本上是關于 XMLHttpRequest 的。

下面中介紹一些

DWREngine.setErrorHandler(handler)

默認的錯誤處理時彈出一個對話框,你可以通過這個方法改變成你需要的表現形式。

DWREngine.setWarningHandler(handler)

改變默認的警告處理形式

DWREngine.beginBatch()

Some Remote Function…

DWREngine.endBatch()

當你有幾個遠程調用要一起進行時,就要用到這兩個方法。

如果不用這兩個方法,你就會發現你的遠程調用并不以你想象的順序進行。

DWREngine 中還有一些其它的方法,我沒有用過。你可以通過 dwr js-doc 來看。如果通過文檔看不懂它是干什么用的,就看 js 源碼,源碼的注釋也是比較詳細的。

DWRUtil 中也有一些很有用的方法。這些方法一般是編寫 js 的輔助方法。

比如 setValue getValue 。大多數 html 標簽有 value 屬性,這時你要獲取或者設置它的值時就用 $(“someid”).value 就可以了。但是有些 html 標記是沒有 value 屬性的,它的值時在標簽的中間,如 <span id=”span<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" /><chmetcnv unitname="”" sourcevalue="1" hasspace="False" negative="False" numbertype="1" tcsc="0" w:st="on">1”</chmetcnv>>some value</span> 這時你要取或設它的值的時候就用 DWRUtil.setValue($(“span1”) someValue) 。這樣你就可以在客戶端動態的表現一些數據了。

還有很多很好用的方法, dwr 的例子中有一些說明,源碼中的注釋也比較詳細。

Dwr 就介紹到這里吧。下一篇,我做了個 table 的例子。
screen.jpg

dwr簡介


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 偷偷狠狠的日日高清完整视频 | 国产精品爱啪在线线免费观看 | 不卡中文字幕在线观看 | 亚洲欧美日韩v中文在线 | 91国内精品久久久久怡红院 | 日本免费黄色录像 | 色综合久久中文字幕网 | 免费国产精品视频 | 一区二区色 | 在线观看h片 | 爱爱视频网站免费 | 天天操夜夜爽 | 亚洲综合在线另类色区奇米 | 日韩久久久精品首页 | 亚洲成人高清在线 | 欧美一级毛片免费观看 | 色吧色吧色吧网 | 成年人免费网址 | 久久精品只有这里有 | 四虎永久在线精品免费观看地址 | 欧美成人中文字幕dvd | 国产精品久久久久免费视频 | 五月婷婷综合激情 | 精品免费视频 | 国产午夜精品久久久久免费视 | 国产亚洲欧美一区二区三区 | 日韩城人免费 | 国产综合亚洲精品一区 | 国产精品三区四区 | 这里只有精品在线播放 | 久久爱噜噜噜噜久久久网 | 亚洲免费二区三区 | h视频日本 | 九色九色九色在线综合888 | 久操小视频 | 亚洲国产免费 | 九九热香蕉视频 | 中文精品久久久久国产网站 | 精品欧美一区二区三区四区 | 国产情侣偷国语对白 | 色婷婷中文字幕 |