§封Ja葬va§

          Dwr過濾器與異常處理


          dwr.xml:

          <dwr>

             <allow>
                <create javascript="UserService" creator="spring" >
                    <param name="beanName" value="userService"></param>   
                </create>

                <!--調(diào)用UserService中的方法時將被DWRFilter攔截-->
                <filter class="com.test.filter.DWRFilter"></filter>
                <convert match="com.test.bean.User" converter="bean"></convert>

                <!-調(diào)用UserService中的方法返回空對象時,讓Dwr報錯-->
                <convert match="java.lang.NullPointerException" converter="exception"></convert>
             </allow>

          </dwr>

          類DWRFilter代碼如下:

          import java.lang.reflect.Method;

          import org.directwebremoting.AjaxFilter;
          import org.directwebremoting.AjaxFilterChain;
          import org.directwebremoting.util.Logger;

          public class DWRFilter implements AjaxFilter {

          public Object doFilter(Object object, Method method, Object[] arr,
             AjaxFilterChain chain) throws Exception {
          //System.out.println("攔截目標方法:"+method.getName());
          log.debug("攔截目標方法:"+method.getName());
          Object obj=chain.doFilter(object, method, arr);
          //System.out.println("目標方法"+method.getName()+"執(zhí)行結(jié)束");
          log.debug("目標方法"+method.getName()+"執(zhí)行結(jié)束");
          return obj;
          }
          private static final Logger log=Logger.getLogger(DWRFilter.class);

          }

          下面測試Dwr的異常處理:

          UserService中有如下方法:

          public List testException(List list)
          {
          System.out.println("測試EXCEPTION");
          try {
             list.get(0);
          } catch (Exception e) {
             throw new NullPointerException("空指針異常");
          }
          return list;
          }

          JavaScript里通過dwr.xml配置的UserService調(diào)用此方法,如果返回對象為null,則Dwr報空指針異常錯誤:

          var list=new Array('abc');
          UserService.testException(list,{
          callback:function(data){alert("正常:"+data[0])},
          exceptionHandler:function(message){alert("異常:"+message)}
          })

          posted on 2009-03-05 23:06 §朱家二少§ 閱讀(1536) 評論(0)  編輯  收藏 所屬分類: Dwr


          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 肥西县| 富裕县| 麻江县| 高淳县| 昔阳县| 永福县| 灵山县| 柳林县| 孝感市| 达日县| 泰安市| 紫金县| 礼泉县| 乌鲁木齐市| 太和县| 长沙县| 华池县| 彩票| 唐海县| 奉化市| 天镇县| 哈密市| 略阳县| 巫溪县| 积石山| 绥阳县| 青州市| 永城市| 兰溪市| 岗巴县| 平湖市| 惠水县| 清水河县| 黄浦区| 黄龙县| 尚义县| 遂平县| 山西省| 平度市| 合江县| 江油市|