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
          我也遇到這種問題,頭疼呀  回復  更多評論
            
          主站蜘蛛池模板: 佛学| 东明县| 寿宁县| 永新县| 寻甸| 资兴市| 张北县| 本溪市| 昌图县| 佳木斯市| 磐安县| 金门县| 东宁县| 逊克县| 科技| 龙川县| 凌海市| 楚雄市| 遂川县| 玉林市| 哈尔滨市| 莫力| 花垣县| 雅江县| 油尖旺区| 来凤县| 治县。| 墨江| 滦南县| 朝阳县| 突泉县| 缙云县| 呼伦贝尔市| 东安县| 桐梓县| 揭阳市| 宁波市| 穆棱市| 富蕴县| 瓮安县| 德钦县|