java 回调函数传值_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.

|----------------------------------------------------------------------------------------|

版权声明  版权所有 @zhyiwww

引用请注明来源 http://www.blogjava.net/zhyiwww

|----------------------------------------------------------------------------------------|

posted on 2008-09-26 11:55 zhyiwww 阅读(2358) 评论(1)  编辑  收藏 所属分类: ajax

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值