dwr入门实例三

在2月份实习的时候,公司给我们的第一个任务就是阅读开源项目的源代码,我选择的是dwr。由于刚开始实习的时候,在前端技术中心,故主要分析了下前端的代码和交互协议。

前面写了两篇入门实例,也做了一些简单的分析使用。本篇本应该在实习的时候就发出来的,但是由于本人过于懒惰和各种其他种种原因,没有继续写下去。最近一项,目用到dwr,又恰恰使用到这个功能,所以想了想还是发出来做个笔记记录吧。

这个功能就是dwr的批请求,这个可以在一个http请求里面,调用几个java方法,这也属于dwr的一个基础功能,属于入门级别的,但是在项目中应该是非常实用和经常会使用到的吧。只需要你在javascript代码里面写上如下几句代码结构就可以实现批处理请求了:

dwr.engine.beginBatch();//开始一个批请求 //中间写你需要调用的java方法,调用格式一般是JAVAClassName.method(),JAVAClassName这是需要在dwr.xml中配置的,这个在前面两篇里面说过的 dwr.engine.endBatch();//完成一次批request 下面是dwr执行这个批处理的一个流程图:

在调用java后台方法时候JAVAClassName.method()的时候这个方法会调用如下方法执行。

ždwr.engine._execute(path , scriptName , methodName , args)。
流程如下:

如果是单请求那么beginBatch、addCall和endBatch,将都在_execute这个方法里面完成。
如果是批请求:先调用dwr.engine.beginBatch(); 开始一个批请求,将创建一个batch,那么在_execute方法里面就会把singleShot设置为true,可以看上面的流程图。
singleShot为true那么就不会调用dwr.engine.endBatch()结束请求(发出ajax调用),故这样execute这个方法里面就主要调用的addCall这个方法添加请求(实际是不会发出ajax请求的),最后我们手动调用endBatch才结束,这时才真正的发出ajax请求,调用后台的方法。

当时也写了个更为详细的ppt,等我整理了再上传上来(http://download.csdn.net/detail/lazy_p/3635924下载地址)。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值