§封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


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


          網站導航:
           
          主站蜘蛛池模板: 板桥市| 比如县| 兴国县| 西乌珠穆沁旗| 历史| 宁城县| 于都县| 酉阳| 长宁县| 周宁县| 太和县| 大庆市| 泾川县| 高唐县| 灵台县| 通许县| 山丹县| 巨野县| 中江县| 武乡县| 衢州市| 柏乡县| 沂水县| 定西市| 杨浦区| 新野县| 潜江市| 信宜市| 博客| 高淳县| 依兰县| 闸北区| 静安区| 南开区| 西乌| 色达县| 济阳县| 肥东县| 兴海县| 上栗县| 历史|