zhyiwww
          用平實的筆,記錄編程路上的點點滴滴………
          posts - 536,comments - 394,trackbacks - 0

          在使用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.aygfsteel.com/zhyiwww   
          |----------------------------------------------------------------------------------------|
          posted on 2008-09-26 11:55 zhyiwww 閱讀(2468) 評論(1)  編輯  收藏 所屬分類: ajax

          FeedBack:
          # re: DWR中使用回調函數的傳值問題[未登錄]
          2009-08-14 10:48 | 111
          我也遇到這種問題,頭疼呀  回復  更多評論
            
          主站蜘蛛池模板: 康乐县| 江源县| 普兰县| 新邵县| 平江县| 轮台县| 连城县| 嘉黎县| 霍林郭勒市| 天等县| 翁源县| 广南县| 灵山县| 德安县| 稷山县| 潞城市| 临夏市| 十堰市| 泰州市| 托克逊县| 邹城市| 土默特右旗| 五寨县| 江永县| 买车| 松滋市| 邛崃市| 鸡东县| 息烽县| 秀山| 龙海市| 溆浦县| 沙坪坝区| 遵义市| 井研县| 阳山县| 安丘市| 武平县| 迁安市| 武强县| 湄潭县|