各种Dwr简介不需要多说,知道是实现局部刷新就差不多了,至于实现原理,慢慢参透吧,一下说明怎么使用DWR
首先建一个web工程,然后添加如下jar包:
清单1、开始编写调用的代码(请求的数据),Us类只是一个存储数据的对象
packagecom.dwr;importjava.util.ArrayList;importjava.util.List;/*** 供界面js调用的方法,只写了几个
*@author**/
public classTestMethod {/*** 字符串类型
*@return
*/
publicString sayHi() {return "hello DWR!";
}/*** 字符串类型
*@paramyourName 接收的参数
*@return
*/
publicString sayHello(String yourName) {return "hello DWR!" +yourName;
}/*** object类型
*@return
*/
publicUs showObj() {
Us us= newUs();
us.setUsName("hux");
us.setUsPwd("123");returnus;
}/*** list 类型
*@return
*/
publicList showList() {
List list= newArrayList();
Us us= newUs();
us.setUsName("hux");
us.setUsPwd("123");
Us pw= newUs();
pw.setUsName("hux");
pw.setUsPwd("123");
list.add(us);
list.add(pw);returnlist;
}
}
清单2、配置web.xml文件,(org.directwebremoting.servlet.DwrServlet)jar包里的
dwr
org.directwebremoting.servlet.DwrServlet
debug
true
dwr
/dwr/*
清单3、配置dwr.xml 配置文件
配置好以上内容就可以测试dwr了,把项目运行起来,在项目url名称 后面加上web.xml配置的dwr地址访问(http://localhost:8080/Test/dwr)
点击dwrObj对象就会看到我们在TestMethod编写的方法,可以在这里点击Execute测试是否正确,如下:
如果方法都没有问题,就可以在界面调用了
清单4、界面代码如下:
Stringpath=request.getContextPath();StringbasePath=request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%>
">
My JSP 'index.jsp' starting pagefunctionshowOne(){
dwrObj.sayHi(callback);//dwr对象 dwrObj直接调用服务器的方法,其中回调函数callback用于接收数据
}varcallback= function(data){
alert("showOne="+data);//显示接收到的数据
}functionshowTwo(){varname=dwr.util.getValue("usName")
dwrObj.sayHello(name,callbackp);//参数直接传递过去
}varcallbackp= function(data){
alert("showTwo="+data);
}functionshowthreen(){
dwrObj.showObj(call);
}varcall= function(data){
alert("showthreen :us:="+data.usName+"\n"+"pwd:="+data.usPwd);//对象直接点属性就可以了
}functionshowfour(){
dwrObj.showList(callss);
}varcallss= function(data){//List直接循环取得对象,对象直接点属性就可以了,那么map什么的都同理了
for(i=0;i
alert("us:="+data.usName+"\n"+"pwd:="+data.usPwd);
}
}
showOne()
showTwo()
showthreen()
showfour()
搞定后再次运行项目 查看效果,如果你仔细的看完了 ,界面js直接调用到了服务器上的方法,是不是觉得dwr很简单呢
(转载请注明原文链接,谢谢)