§封Ja葬va§

          Dwr過濾器與異常處理


          dwr.xml:

          <dwr>

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

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

                <!-調用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()+"執行結束");
          log.debug("目標方法"+method.getName()+"執行結束");
          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調用此方法,如果返回對象為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 §朱家二少§ 閱讀(1532) 評論(0)  編輯  收藏 所屬分類: Dwr


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


          網站導航:
           
          主站蜘蛛池模板: 北辰区| 安宁市| 兴安县| 阿尔山市| 萨迦县| 长岭县| 三门县| 汉川市| 建湖县| 洮南市| 榆林市| 荣昌县| 长丰县| 吴桥县| 阿坝县| 新巴尔虎右旗| 祁连县| 福清市| 习水县| 平遥县| 临海市| 沅陵县| 瑞丽市| 互助| 德惠市| 衡东县| 遵义县| 民乐县| 鄯善县| 马尔康县| 榕江县| 吉隆县| 通海县| 深圳市| 宜丰县| 晋江市| 桓台县| 通辽市| 新龙县| 崇仁县| 富川|