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


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


          網站導航:
           
          主站蜘蛛池模板: 兰西县| 玉树县| 永城市| 杨浦区| 台安县| 孟津县| 澳门| 松桃| 揭阳市| 永靖县| 察雅县| 吴堡县| 延川县| 南丰县| 博客| 武穴市| 泰来县| 台中市| 荣成市| 旌德县| 麟游县| 本溪市| 桑植县| 务川| 舞阳县| 盐津县| 稷山县| 弋阳县| 云安县| 瓮安县| 永登县| 静海县| 邯郸县| 辉南县| 和龙市| 东至县| 定远县| 万荣县| 镇坪县| 姚安县| 岑溪市|