engine.js Functions
engine.js对DWR非常重要,因为它是用来转换来至动态生成的接口的javascript函数调用的,所以只要用到DWR的地方就需要它。
The engine.js file
每一个页面都需要下面这些语句来引入主DWR引擎。
<script type='text/javascript'
src='/[YOUR-WEB-APP]/dwr/engine.js'>
</script>
使用选项
下面这些选项可以通过 DWREngine.setX() 函数来设置全局属性。例如:
DWREngine.setTimeout(1000);
或者在单次调用级别上(假设Remote被DWR暴露出来了):
Remote.singleMethod(params, {
callback:function(data) { ... },
timeout:2000
});
远程调用可以批量执行来减少反应时间。endBatch 函数中可以设置选项。
DWREngine.beginBatch();
Remote.methodInBatch1(params, callback1);
Remote.methodInBatch2(params, callback2);
DWREngine.endBatch({
timeout:3000
});
可以混合这几种方式,那样的话单次调用或者批量调用级别上的设置可以复写全局设置(就像你希望的那样)。当你在一个批量处理中多次设置了某个选项,DWR会保留最后一个。所以如果 Remote.singleMethod() 例子在batch里面,DWR会使用3000ms做为超时的时间。
callback和exceptionHandler两个选项只能在单次调用中使用,不能用于批量调用。
preHook和postHook选项两个选项是可添加的,就是说你可以为每一次调用添加多个hook。全局的preHook会在批量调用和单次调用之前被调用。同样全局的postHook会在单次调用和批量调用之后被调用。
如果以上叙述让你感到混乱,不用担心。DWR的的设计往往和你想象中的一样,所以其实这些并不复杂。
选项索引
下面是可用选项列表。
Option Global Batch Call Summary
async 1.1 1.1 1.1 设置是否为异步调用,不推荐同步调用
headers 2.0 2.0 2.0 在XHR调用中加入额外的头信息
parameters 2.0 2.0 2.0 可以通过Meta-datarequest.getParameter()取得的元数据
httpMethod 2.0 2.0 2.0 选择GET或者POST. 1.x中叫'verb'
rpcType 2.0 2.0 2.0 选择是使用xhr, iframe或者script-tag来实现远程调用. 1.x中叫'method'
skipBatch 1.0* 2.1? - 某个调用是否应该设置为batch中的一部分或者直接的。这个选项和上面都有些不同。
*没有setSkipBatch()方法,批量调用是通过beginBatch()和endBatch()来控制的。
timeout 1.0 1.1 1.1 设定超时时长,单位ms
处理器(Handler)
Option Global Batch Call Summary
errorHandler 1.0 1.1 1.1 当出了什么问题时的动作。1.x中还包括服务端的异常。从2.0开始服务端异常通过'exceptionHandler'处理
warningHandler 1.0 2.0 2.0 当因为浏览器的bug引起问题时的动作,所以默认这个设置为null(关闭)
textHtmlHandler 2.0 2.0 2.0 当得到不正常的text/html页面时的动作(通常表示超时)
调用处理器(Call Handler) (注册到单独调用上的,而不是batch中的所有调用)
Option Global Batch Call Summary
callback - - 1.0 调用成功以后的要执行的回调函数,应该只有一个参数:远程调用得到的数据
exceptionHandler - - 2.0 远程调用失败的动作,一般是服务端异常或者数据转换问题。
Hooks (一个batch中可以注册多个hook)
Option Global Batch Call Summary
preHook 1.0 1.1 1.1 远程调用前执行的函数
postHook 1.0 1.1 1.1 远程调用后执行的函数
全局选项(在单次调用或者批量调用中不可用)
Option Global Batch Call Summary
ordered 1.0 - - DWR是否支持顺序调用
pollType 2.0 - - 选择xhr或者iframe的反转Ajax
reverseAjax 2.0 - - 是否查找inbound调用
废弃的选项
Option Global Batch Call Summary
verb 1.0 1.1 1.1 2.0废弃。使用'httpMethod'代替
method 1.0 1.1 1.1 2.0废弃。使用'rpcType'代替
将来的
Option Global Batch Call Summary
onBackButton 2.1? 2.1? - 用户按了back按钮后的动作
onForwardButton 2.1? 2.1? - 用户按了forward按钮的动作
保证的责任
DWR的目的是让你确切的知道所有调用的动作。知道了浏览器存在的bug,这是可以做到了。
如果你设置了callback, exceptionHandler, errorHandler, warningHandler 和 textHtmlHandler,DWR就应该 总是 为每一个请求提供响应。
Call Batching
Call Ordering
Errors, Warnings and Timeouts
Remoting Hooks
Remoting Options
分享到:
相关推荐
DWR学习资料 :DWR 3.0 上传文件.txt DWR3.0反向Ajax示例.txt DWR3.0学习笔记.txt DWR3.0学习网址.txt dwr分页.doc DWR分页代码.doc DWR中文文档.doc DWR中文文档.pdf dwr做comet的完整实现.doc Spring整合DWR comet ...
总的来说,这个压缩包提供了一个全面的学习DWR的资源集合,从理论知识到实践案例,覆盖了DWR的方方面面。通过深入研究这些材料,你不仅可以了解DWR的工作机制,还能学会如何在实际项目中有效地应用它,提升Web应用的...
【DWR学习教程3】是针对Direct Web Remoting (DWR)这一JavaScript和Java之间的通信框架的深入学习资料。DWR允许在Web浏览器和服务器之间进行实时、安全且高效的交互,使得前端JavaScript能够调用后端Java方法,极大...
首先,"DWR学习笔记"提供了对DWR基础概念、核心功能以及实际应用的概述。这些笔记可能包含了DWR的基本架构,如它如何通过AJAX技术实现实时的Web交互,以及如何创建和调用服务器端的Java方法。 "DWR中文API"是DWR库...
【DWR学习教程2】是针对Direct Web Remoting(DWR)框架的深入学习资源,主要面向希望掌握或提升Web应用程序远程调用能力的开发者。DWR是一个开源Java库,它允许JavaScript在浏览器中直接调用服务器上的Java方法,...
在这个DWR学习案例中,你可能会看到如何设置DWR环境,创建Java和JavaScript接口,以及如何进行数据库操作的示例。案例可能包括创建用户界面元素,如表格或表单,用于显示和编辑数据;编写服务器端的Java方法,处理...
本套DWR学习资料旨在帮助初学者快速掌握DWR的基本概念和使用技巧。通过实例和详细的说明,你可以系统地了解如何在实际项目中应用DWR。 1. **DWR的基本概念** - **反向AJAX**:DWR的核心技术之一,允许服务器主动推...
这个"**DWR学习资料汇总(PDF)**"压缩包显然是一个包含各种DWR学习资源的集合,旨在帮助开发者快速理解和掌握DWR技术。 DWR的核心功能是提供了一个安全且易于使用的接口,使得JavaScript可以直接调用服务器上的Java...
在"DWR学习的各类文件"中,我们可能涵盖以下核心知识点: 1. **DWR的基本概念**:DWR的核心是它的反向Ajax机制,它允许JavaScript调用服务器端的Java方法,并将结果返回到客户端。这打破了传统的Web应用程序模型,...
这个“dwr学习实例 初学者的宝”压缩包文件显然是为那些想要深入理解并实践DWR技术的新手准备的。DWR的主要目标是简化前端与后端的交互,使得动态更新网页变得更加便捷,无需刷新整个页面。 在DWR中,你可以创建一...
在“DWR学习笔记及经验总结”中,我们可以期待找到以下关键知识点: 1. **DWR的基本概念**:了解DWR的核心理念,包括远程方法调用(Remote Method Invocation)、反向Ajax以及它如何通过JSON或XML格式传递数据。 2...
**DWR(Direct Web Remoting)**是一种JavaScript库,它允许Web...通过深入学习和实践"DWR学习笔记和与spring整合练习",开发者可以掌握DWR的精髓,熟练运用其与Spring的整合,打造出高效、安全、易维护的Web应用程序。
该项目是基于JavaScript和Java的DWR学习示例设计源码,共包含33个文件,其中包括18个XML配置文件、3个JavaScript源文件、2个Java源文件、2个JSP页面文件、2个class字节码文件、2个lst列表文件、1个Markdown文档、1个...
### dwr学习笔记pdf文件知识点概述 #### 一、DWR框架简介 - **DWR**(Direct Web Remoting)是由GetAhead公司开发的一款用于实现Ajax应用的框架。该框架的核心价值在于允许客户端JavaScript直接调用服务器端Java类...
### dwr学习笔记和总结 #### 一、DWR简介 DWR (Direct Web Remoting) 是一个简化Ajax开发的框架,它使得JavaScript能够直接调用服务器端的Java方法成为可能,无需编写复杂的Ajax代码。这极大地提高了开发效率,并...
《DWR学习之基础篇——深入理解Direct Web Remoting》 Direct Web Remoting(DWR)是一种开源JavaScript库,它允许在Web浏览器和Java服务器之间进行实时、双向通信,极大地简化了AJAX(Asynchronous JavaScript and...
【标题】:“DWR学习笔记-HelloWorld篇” 在IT领域,DWR(Direct Web Remoting)是一个开源的Java框架,它允许JavaScript在浏览器端直接调用服务器端的Java方法,实现了网页与服务器的实时交互,类似于Ajax技术,但...
《Dwr 学习研究应用--Spring和DWR的整合》 DWR(Direct Web Remoting)是一个开源的Java库,允许JavaScript在浏览器端与服务器端的Java对象进行交互,从而实现动态Web应用程序。它打破了传统的AJAX模式,提供了一种...
一个简单DWR学习二级菜单实例一个简单DWR学习二级菜单实例一个简单DWR学习二级菜单实例一个简单DWR学习二级菜单实例一个简单DWR学习二级菜单实例一个简单DWR学习二级菜单实例一个简单DWR学习二级菜单实例