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

看到這個圖是不上和我們上個文章里的最后一個很像啊!其實是一樣的 ,大家都是
MVC 結構,只是這里少了個數據庫而已。
好了看看我們的例子代碼會有什么效果
當我們在 textfiled 里打入一個名字,如 , 這里的 Joe ,接著我們點一下旁邊的 button send
大家就會馬上看到 Hello, Joe 了,呵呵 ,是不是很好玩;是不是很想知道怎么會這樣的!
恩 好 現在就讓我們來看看它的代碼是什么樣子的:
就這幾個代碼

2

3

4

5

6

7

8

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



2

3



4

5

6

Java source:
這里創建一個類處理上面js文件,傳來的值

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

看到這里大家應該對這些代碼了解了,請在將我講的內容和前面的圖結合起來,
想想哪個代碼出現在哪里;呵呵,以后還會有更復雜的代碼,
大家要努力了,別落伍了
地震讓大伙知道:居安思危,才是生存之道。
