`
atian25
  • 浏览: 467748 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

DWR 3.0 回调函数新增参数

    博客分类:
  • DWR
阅读更多

DWR 3.0版本:

 

1.传递额外的参数

 

Rules:

  • arg - If specified will be used as a default argument to pass to the callback and will apply to both callback handlers and exception handlers. 如果设置该参数则会作为一个默认的参数传递给回调函数和错误处理函数
  • callbackArg - If specified will apply to callback handlers and will override arg.如果设置该参数则会传递给回调函数,会覆盖arg的设置
  • exceptionArg - If specified will apply to exception handlers and will override arg.如果设置该参数则会传递给错误处理函数,会覆盖arg的设置

 

 

 

示例:

var dataFromBrowser = ...;
var dataFromBrowser2 = ...;

var callMetaData = { 
  callback:callbackFunction, 
  arg: dataFromBrowser, // specify an argument to pass to the exeptionHandler
  callbackArg: dataFromBrowser2, // overrides args will be passed to the callback
  exceptionHandler: exceptionHandlerFunction
};

Remote.method(params, callMetaData);

function callbackFunction(dataFromServer, arg1) {
  // you will now have access to dataFromBrowser2 as arg1
  // callbackArg overrides arg
}

function exceptionHandlerFunction(exceptionMessage, exception, arg1) {
  // you will now have access to dataFromBrowser1 as arg1
  // arg also applies to exceptionHandlers
}
 

 

2.作用域

Rules:

 

  • scope - If specified will be used as the default scope and will apply to both callback handlers and exception handlers.回调函数和错误处理函数的作用域
  • callbackScope - If specified will apply to callback handlers and will override scope.回调函数的作用域,覆盖scope的设置
  • exceptionScope - If specified will apply to exception handlers and will override scope.错误处理函数的作用域 ,覆盖scope的设置

 

 

Note: The default scope is window. 默认作用域是window

 

示例:

 

(function() {
    someObject = {};
    someObject.privateVar = "Private variable from the main object."; 

    someObject.callbackFunction = function(dataFromServer) {
      alert(this.privateVar);
      // The preceding line will alert the value of privateVar.  
      // The key here is the use of 'this'.  The scope is not 
      // lost because it is specified in the call-meta data object
      // and used to execute the callback function.
    }   
})();

var callMetaData = { 
  callback:someObject.callbackFunction, 
  scope: someObject 
};

Remote.method(params, callMetaData);
 

 

 

DWR3.0之前的版本:

 

用闭包来实现,如下示例:

 

var dataFromBrowser = ...;

// define an erasure function to store a reference to
// dataFromBrowser and to call dataFromServer
var callbackProxy = function(dataFromServer) {
  callbackFunc(dataFromServer, dataFromBrowser);
};

var callMetaData = { callback:callbackProxy };

Remote.method(params, callMetaData);

 

 

原文:http://directwebremoting.org/dwr/browser/extra-data.html

分享到:
评论

相关推荐

    dwr3.0.jar

    5. **回调函数**:DWR提供了异步处理的回调函数,使得开发者可以轻松地处理服务器返回的结果。 6. **事件驱动**:DWR3.0引入了事件驱动的编程模型,使得服务器可以向客户端推送事件,例如当数据库有新数据时,...

    dwr3.0文档和jar包

    DWR 3.0是该技术的一个版本,提供了许多增强的功能和改进,旨在简化开发过程并提高性能。 在DWR 3.0中,有几个核心概念和技术点值得深入探讨: 1. **AJAX通信**:DWR的核心功能是通过AJAX(Asynchronous ...

    dwr3.0.jar_ajax

    标题中的“dwr3.0.jar_ajax”暗示了这个压缩包包含了DWR3.0的核心库文件,即dwr3.0.jar。这个JAR文件是DWR的核心组件,包含了所有必需的类和资源,使得开发者可以在服务器端与JavaScript进行交互,实现异步更新和...

    DWR3.0 jar包API文档

    DWR3.0是DWR的一个重要版本,它提供了许多增强的功能和改进,使得开发人员能够更高效地构建动态、交互式的Web应用。 DWR3.0的JAR包包含了所有必要的类和资源,用于在服务器端集成DWR框架。这个JAR文件通常会包含...

    dwr dwr包 dwr3.0文档 dwr3.0.jar

    5. **批量调用和回调**: DWR支持批量调用多个服务器方法,以及回调机制,当所有调用完成后执行指定的函数,这对于处理大量数据或执行一系列操作非常有用。 6. **错误处理**: DWR提供了一套完整的错误处理机制,包括...

    dwr3.0+SSH2

    【标题】"dwr3.0+SSH2"是一个基于Java技术的Web应用程序开发框架的组合,其中DWR(Direct Web Remoting)是用于在浏览器和服务器之间进行实时通信的库,而SSH2则通常指的是Struts2、Spring和Hibernate这三大开源框架...

    dwr3.0反向实例

    在"DWR 3.0反向实例"中,我们将深入探讨这个版本的新特性、配置过程以及如何通过一个简单的Clock实现来演示其工作原理。 DWR 3.0相对于早期的2.0版本,引入了一些重要的改进,包括性能提升、错误处理机制的优化以及...

    DWR3.0.jar、DWR.war和DWR2.0中文说明文档

    - **高级特性**:包括批量调用、异步处理、回调函数、错误处理等。 - **自定义转换和验证**:如何自定义Java对象到JavaScript对象的转换规则,以及数据验证机制。 - **示例和教程**:提供实例代码和逐步指导,...

    dwr3.0以及相关中文文档

    2. **安装与配置**:指导如何将DWR集成到Java Web应用中,包括添加依赖库、配置web.xml文件以及设置DWR的Context参数。 3. **API参考**:详细列出DWR的各个类、接口和方法,帮助开发者了解如何使用DWR的API进行开发...

    dwr3.0搭建与讲解

    在本教程中,我们将深入探讨DWR 3.0的搭建过程以及其基本概念。 ### 1. DWR 3.0 概述 DWR 3.0 是DWR项目的一个重要版本,它提供了改进的性能和更多的特性。DWR的核心理念是打破浏览器与服务器之间的障碍,使得...

    DWR3.0官方中文入门教程以及dwr3.0jar

    DWR3.0是该技术的一个重要版本,提供了许多增强的功能和改进,使得开发人员能够更高效地构建富互联网应用程序(RIA)。 本入门教程主要涵盖了以下知识点: 1. **DWR的基本概念**:DWR的核心理念是通过JavaScript在...

    dwr-3.0.jar

    最新dwr3.0的包,有需要的朋友就下载吧

    DWR3.0实现下载

    《DWR3.0实现下载》 DWR (Direct Web Remoting) 是一个开源的Java库,它允许JavaScript和服务器端的Java代码进行交互,从而实现在Web应用中进行动态的Ajax更新。在DWR 3.0版本中,开发者可以更加方便地处理文件下载...

    dwr3.0.rar

    通过解压 "dwr3.0.rar",你将获得DWR 3.0的完整源码、文档、示例以及部署所需的资源。这将帮助你深入了解DWR的工作原理,并在实际项目中快速应用。对于学习和开发基于Java的Web应用,特别是需要利用AJAX技术来提升...

    DWR3.0应用

    **DWR3.0应用详解** DWR (Direct Web Remoting) 是一种JavaScript库,它允许Web应用程序在客户端和服务器之间进行实时通信,无需刷新页面。DWR3.0是其一个重要版本,提供了对现代浏览器的支持,包括新版的Opera,但...

    DWR3.0 全部文件

    DWR3.0是其一个重要版本,带来了许多改进和新特性,使得开发人员能够更方便地实现AJAX功能。 在"**DWR3.0全部文件**"中,我们可以期待找到一系列资源,包括但不限于: 1. **DWR3.0的API文档**:这个文档提供了关于...

    Dwr3.0 与 Dwr2.0 区别

    ### DWR 3.0 与 DWR 2.0 的区别 DWR(Direct Web Remoting)是一种用于简化 AJAX 应用程序开发的技术。它允许客户端 JavaScript 直接调用服务器端 Java 方法,从而降低了 AJAX 编程的复杂度。DWR 的最新版本为 3.0...

    dwr3.0 jar noncla

    DWR3.0版本是其一个重要的迭代,它引入了多项改进和新特性。在这个讨论中,我们将深入探讨DWR3.0、"noncla"组件以及它与JSF(JavaServer Faces)和Spring框架的集成。 首先,DWR3.0的主要亮点在于其增强了性能和...

    DWR3.0自己学习时的资料(jar包帮助文档等)

    DWR3.0是DWR的一个重要版本,它提供了许多增强的功能和改进,使得开发人员能够更高效地构建动态、交互式的Web应用。 DWR的核心功能包括: 1. **远程方法调用(RMI-like)**:DWR允许JavaScript代码直接调用服务器端...

Global site tag (gtag.js) - Google Analytics