1.首先要下载dwr.jar,然后放到WEB-INF/lib下…
2.負責處理客戶端請求,並呼叫Java物件的是DWRServlet,DWR其實也有些Model 2的味道,只是View的這一層比較弱,因為放到客戶端的JavaScript應用程式中…
在web.xml中加入DWRServlet…
3.接下來写个的简单的java类Hello
4.客戶端要呼叫这个Java物件,传给它参数,然后返回一个值,客户端再显示其值,前提是要告诉DWRServlet这件事情,这需要一个dwr.xml:
注:creator设定new,表示使用Hello的无参数的构造函数来生成物件,javascript设定为Hello,表示客戶端JavaScript程式可以使用Hello來呼叫对应的 com.dingxun.Hello物件。
5.接下来写一个客户端页面,其中有一个输入栏位…
注:dwr/interface/Hello.js是由DWRServlet根据dwr.xml中的设定生成的,engine.js负责客戶端和服务端沟通,util.js是一些好用的JavaScript程式,是一个工具 类,通过它可以简便完成某些操作,减少代码量。 hello.js是我们自定义的,按下按钮,会调用其中的hello() 方法,代码如下:
注:${'user'}取得输入栏位的DOM物件,value取得栏位值,而后呼叫Hello.hello(),并将栏位值value值作为参数传递… 结果是呼叫Server端的Hello Java物件,当结果传回后,会调用JavaScript的callback函式(回调函数),DWRUtil的setValue()方法会将传回的msg设定给指定id的DOM。AJAX的功能就这个发出非同步请求,而回应不用刷新整个页面了,从而实现了页面的局部刷新。