
這里我們繼續(xù)前個(gè)文章的學(xué)習(xí)
DWR(Direct Web Remoting) 是一個(gè) WEB 遠(yuǎn)程調(diào)用框架 . 利用這個(gè)框架可以讓 AJAX
開(kāi)發(fā)變得很簡(jiǎn)單 . 利用 DWR 可以在客戶端利用 JavaScript 直接調(diào)用服務(wù)端的 Java 方法并
返回值給 JavaScript 就好像直接本地客戶端調(diào)用一樣 (DWR 根據(jù) Java 類來(lái)動(dòng)態(tài)生成
JavaScrip 代碼 ). 它的最新版本 DWR0.6 添加許多特性。 如 : 支持 Dom Trees 的自動(dòng)配置 ,
支持 Spring(JavaScript 遠(yuǎn)程調(diào)用 spring bean), 更好瀏覽器支持 , 還支持一個(gè)可選的
commons-logging 日記操作 .
DWR 官方網(wǎng)址 http://www.getahead.ltd.uk/dwr/
現(xiàn)在我們就前面的兩個(gè)文章 /*
下載官方 DWR 教程例子,實(shí)現(xiàn) DWR 迅速入門(mén)
http://www.aygfsteel.com/lusm/archive/
Ajax 具體認(rèn)識(shí) ~~~~~~~~~~~~ 讓 Ajax 變得具體不再抽象
http://www.aygfsteel.com/lusm/archive/
*/
的內(nèi)容展開(kāi) MVC 下 DWR ajax 的學(xué)習(xí),如果你沒(méi)看過(guò)或還沒(méi)怎么了解,為了你能在下面
更好地學(xué)習(xí),建議你先花點(diǎn)點(diǎn)時(shí)間看看上面的兩個(gè)文章。
先看看我們要講的這個(gè) example 的總體結(jié)構(gòu)圖:

看到這個(gè)圖是不上和我們上個(gè)文章里的最后一個(gè)很像啊!其實(shí)是一樣的 ,大家都是
MVC 結(jié)構(gòu),只是這里少了個(gè)數(shù)據(jù)庫(kù)而已。
好了看看我們的例子代碼會(huì)有什么效果
當(dāng)我們?cè)?/span> textfiled 里打入一個(gè)名字,如 , 這里的 Joe ,接著我們點(diǎn)一下旁邊的 button send
大家就會(huì)馬上看到 Hello, Joe 了,呵呵 ,是不是很好玩;是不是很想知道怎么會(huì)這樣的!
恩 好 現(xiàn)在就讓我們來(lái)看看它的代碼是什么樣子的:
就這幾個(gè)代碼

2

3

4

5

6

7

8

Javascript source:
這個(gè)是上面的<input value="Send" type="button" onclick="update()"/>調(diào)用的函數(shù)當(dāng)我們
點(diǎn)擊按鈕(Send)時(shí),就會(huì)去調(diào)用這個(gè)javaScript函數(shù)update( )并執(zhí)行函數(shù)里的內(nèi)容{。。。},
可以看到在這個(gè)函數(shù)里有這個(gè) var name = dwr.util.getValue("demoName");這里要調(diào)用lib下
的dwr包里的方法;這里還定義了另一個(gè)函數(shù)Demo.sayHello(就是下一個(gè)代碼Demo.java)把
textfiled里的數(shù)據(jù)傳給Demo.java進(jìn)行簡(jiǎn)單的處理,再把處理得到的數(shù)據(jù)傳給下一個(gè)
textfiled demoReply .



2

3



4

5

6

Java source:
這里創(chuàng)建一個(gè)類處理上面js文件,傳來(lái)的值

2

3



4



5

6

7

8

dwr.xml

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

看到這里大家應(yīng)該對(duì)這些代碼了解了,請(qǐng)?jiān)趯⑽抑v的內(nèi)容和前面的圖結(jié)合起來(lái),
想想哪個(gè)代碼出現(xiàn)在哪里;呵呵,以后還會(huì)有更復(fù)雜的代碼,
大家要努力了,別落伍了
地震讓大伙知道:居安思危,才是生存之道。
