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

DWR中使用回调函数的传值问题

    博客分类:
  • DWR
阅读更多

在使用DWR的时候,解决值得传递问题,可以通过回调函输实现对客户端的javascript的函数的调用。
同时可以通过DWR实现了通过javascript对java的调用。所以DWR解决了在Java和javascript之间的互相调用问题。

但是在实际的调用过程中,有些问题还是需要解决的,如:

如何在回调中传递串对象?
如何回调中传递Java对象?

如果,能实现传递串对象,其实,已经可以实现了在javascript和java之间的数据传递,也可以通过在java上组合成json串返回,就可以实现,和对象的轻松转换。

如果能实现传递对象,那不就省去了很多的问题,但是,这个问题,我也没有搞定。
不过象下面的例子,已经可以实现返回一个new Date()的Object对象了。不过,我看了一下,应该返回的是一个Date的串对象。

如下代码,是在Dwr中的调用
javascript:
   ChatManager.regist(username,{
     callback:function(obj){
     alert("call back");
     alert("obj : " + obj);
    
     var map = getMap("theMap");
     alert(map.x);
       
   }});

JAVA:

   public Object regist(String username,HttpServletRequest request){
    
     System.out.println("regist user "+ username);
    
     updateUsersList(username,true,request);
    
    
     return new User("aaa","dsfdssdfdsf");
  
   }

只有在此 regist方法有返回值得情况下,回调函数才能取到传入的值。
传递的如果是串类的对象,没有问题,如果我传递的是一个对象,就不能取到。

  
   public Object regist(String username,HttpServletRequest request){
    
     System.out.println("regist user "+ username);
    
     updateUsersList(username,true,request);
    
    
     return new A("myname");
  
   }
   注意:A是一个inner class,是在ChatManager里面定义的内部类。
   class A{
     private String uname;
    
     public A(String uname){
        this.uname = uname;
     }
    
     public String getUname(){
        return this.uname;
     }
   };
这种情况下,回调函输取得的就是null.

来源于:http://www.blogjava.net/zhyiwww/archive/2008/09/26/231268.html

分享到:
评论

相关推荐

    修改后的dwr框架无需回调函数

    然而,“修改后的dwr框架无需回调函数”意味着这个封装后的版本可能已经内置了处理响应的机制,从而省去了开发者手动编写回调函数的步骤。这种改进提高了代码的可读性和可维护性,减少了出错的可能性。 在这个框架...

    dwr回调函数得到后台list

    在这个场景中,我们关注的是如何在DWR回调函数中处理从服务器返回的`List<Bean>`类型的数据。 首先,我们需要在服务器端定义一个Java方法,该方法会返回一个`List<Bean>`。例如,假设我们有一个名为`User`的Java ...

    DWR 取得回调函数返回值案列

    根据提供的部分代码内容,我们可以看到一个简单的例子展示了如何在DWR中获取回调函数的返回值。 ##### 1. 后端Java类定义 首先,我们需要定义一个Java类,用于提供服务端的方法供前端调用。在这个案例中,定义了一...

    DWR的配置和传值DWR的配置和传值

    在这个例子中,DWR自动处理了参数的序列化和反序列化,以及异步调用的回调函数。 5. **安全性**: 在生产环境中,确保关闭调试模式,因为公开的调试页面可能暴露敏感信息。同时,你还可以通过DWR的安全特性,如IP...

    关于javascript 回调函数中变量作用域的讨论

    在使用DWR的时候,回调函数可以作为第一个或者最后一个参数出现,如: JScript code function callBack(result){ } myDwrService.doSomething(param1,param2,callBack);//DWR的推荐方式 //或者 myDwrService....

    DWR中文文档DWR

    - 使用DWR提供的回调函数处理响应数据。 8. **学习资源**: - 该中文文档将详细介绍DWR的安装、配置、使用方法以及常见问题的解决,是学习DWR的重要参考资料。 通过深入学习这份DWR中文文档,开发者不仅可以掌握...

    DWR的使用方法

    调用`sayHello`方法后,DWR会自动发送一个HTTP请求到服务器,并在得到响应后执行回调函数。 **安全性和优化** DWR提供了一些安全特性,比如白名单机制,限制哪些类和方法可以被远程调用。此外,通过缓存和批量调用...

    java dwr 使用例子

    `firstDwr()`函数调用了`ajaxjs.sayHello()`,传递了一个参数"Jorwen",并定义了一个回调函数`callBackHello`来处理返回的数据。`hello()`函数则获取用户输入的值,并通过`sayHello()`方法传递给服务器,同样有一个...

    DWR中文帮助文档(最好的DWR中文帮助文档)

    7. **事件处理与回调**:在JavaScript中,DWR提供了事件监听器和回调函数,使得用户可以自定义在远程调用成功或失败时的行为。 8. **错误处理与调试**:文档会介绍如何处理DWR调用过程中出现的错误,以及如何开启...

    DWR2.0中文文档

    - **简单的回调函数**:介绍如何使用DWR进行异步调用,并在调用完成后执行回调函数。 - **调用元数据对象**:元数据对象包含关于服务和方法的信息,可以用来动态生成客户端调用代码。 DWR2.0中文文档不仅是一份详尽...

    DWR中文文档 (DWR 2.0)

    2. **高阶函数**:解释如何使用函数作为参数或返回值的函数,提高代码的可复用性。 3. **动态类型**:探讨JavaScript的动态类型系统如何影响对象的行为。 4. **灵活的对象模型**:分析JavaScript中对象模型的特点,...

    DWR中文文档

    6. **批量调用与回调**:DWR支持批量调用多个服务器方法,并且可以在一个回调函数中处理所有结果。这对于处理大量数据或执行多个操作的场景非常有用。 7. **DWR的事件机制**:DWR提供了一套事件监听系统,允许你在...

    dwr demo dwr简单使用

    9. **安全考虑**:在实际项目中,使用DWR时需要注意安全性问题。暴露给JavaScript的服务器端方法可能会引发安全风险,因此需要谨慎设置DWR的访问权限,避免敏感数据和操作被不授权的用户调用。 通过这个简单的DWR...

    DWR 框架使用手册

    5. **使用DWR**:在JavaScript中,你可以通过DWR创建一个远程对象实例,然后像调用本地函数一样调用远程Java方法。DWR会自动处理数据序列化和反序列化,以及异步调用的处理。 6. **DWR的API**:DWR提供了几个核心...

    dwr ajax 局部刷新

    在DWR中,可以定义回调函数来处理服务器返回的数据。例如,`onSuccess`和`onError`函数是常见的回调函数: - `onSuccess`: 当服务器成功响应并返回数据时,这个函数会被调用,通常用于将接收到的数据显示在页面上。 ...

    DWR中文文档 ,非常详细

    - **Callback Function**:服务器端方法执行完毕后,通过回调函数处理返回结果。 5. **高级特性**: - **Batching**:批量调用,一次发送多个请求到服务器,减少网络往返次数。 - **Polling**:轮询机制,客户端...

    DWR技术文档、快速使用DWR、java技术

    5. **处理返回结果**:服务器返回的结果会在JavaScript回调函数中得到,可以直接用于更新DOM元素。 **DWR与Tomcat的集成** 由于DWR是一个基于Servlet的框架,因此它可以方便地与任何支持Servlet的Web服务器集成,...

Global site tag (gtag.js) - Google Analytics