<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-124  評(píng)論-49  文章-56  trackbacks-0

    1 自定義異常類 SystemException.java

    public class SystemException extends RuntimeException{
     //自定義key
     private String key;
     //自定義參數(shù)
     private Object[] values;

     //實(shí)現(xiàn)父類的構(gòu)造方法
     public SystemException() {
      super();
     }

     public SystemException(String message, Throwable cause) {
      super(message, cause);
     }


     public SystemException(String message) {
      super(message);
     }


     public SystemException(Throwable cause) {
      super(cause);
     }

     //自定義構(gòu)造方法
     public SystemException(String message, String key) {
      super(message);
      this.key=key;
     }

     //自定義構(gòu)造方法,帶一個(gè)參數(shù)
     public SystemException(String message, String key,Object value) {
      super(message);
      this.key=key;
      this.values=new Object[]{value};
     }
     
     //自定義構(gòu)造方法,帶多個(gè)參數(shù)
     public SystemException(String message, String key,Object[] values) {
      super(message);
      this.key=key;
      this.values=values;
     }
     
     //相應(yīng)的get方法
     public String getKey() {
      return key;
     }

     public Object[] getValues() {
      return values;
     }
    }
    2 自定義異常處理器 SystemExceptionHandler.java

    //作用:截獲SystemException,并根據(jù)SystemException中的信息動(dòng)態(tài)創(chuàng)建ActionMessage等這些錯(cuò)誤信息,
            將其存在request中
    public class SystemExceptionHandler extends ExceptionHandler{

     /**
      * 處理SystemException異常
      */
     @Override
     public ActionForward execute(Exception ex,//拋出的異常
             ExceptionConfig config,//struts-config.xml中的配置信息
             ActionMapping mapping,
              ActionForm form,
             HttpServletRequest request,
             HttpServletResponse response) throws ServletException {
      
      ActionForward forward=null;
      //創(chuàng)建ActionForward
      if(config.getPath()!=null){
       //有path屬性,則根據(jù)path創(chuàng)建
       forward=new ActionForward(config.getPath());
      }else {
       //沒(méi)有path屬性,則根據(jù)input屬性創(chuàng)建
       forward=mapping.getInputForward();
      }
      if(ex instanceof SystemException){
       SystemException se=(SystemException)ex;
       //key可有可無(wú),所以取出key進(jìn)行判斷
       String key=se.getKey();
       ActionMessage error=null;
       //如果自定義的key為空,用struts的
       if(key==null){
        //拿出error.default和message,創(chuàng)建ActionMessage對(duì)象
        error=new ActionMessage(config.getKey(),se.getMessage());
       }else {
        //如果自定義的key有值
        if(se.getValues()!=null){
         error=new ActionMessage(key,se.getValues());
        }else {
         //如果自定義的key有值,則根據(jù)key創(chuàng)建ActionMessage對(duì)象
         error=new ActionMessage(key);
        }
       }
       //將這個(gè)ActionMessage放到request中。key為自定義的,error為ActionMessage對(duì)象
       //forward是要轉(zhuǎn)到什么地方,根據(jù)path屬性創(chuàng)建。"request"為scope的一個(gè),也可以
       //用config.getScope()
       this.storeException(request, key, error, forward, config.getScope());
       return forward;
      }
      return super.execute(ex, config, mapping, form, request, response);
     }
    }


    3 編寫配置文件 struts-config.xml

    <global-exceptions>
       <exception key="error.default"
            type="java.lang.Exception"
            scope="request"
            path="/common/exception.jsp"
        <!-- 自定義的異常處理類 -->
            handler="org.oa.common.SystemExceptionHandler"/>
    </global-exceptions>

    4 編寫資源文件 ApplicationResources.properties

    error.default={0}
    error.org.del=Can't Del Orgnation,id is {0}!

    5 業(yè)務(wù)代碼

    throw new org.oa.common.SystemException("存在子機(jī)構(gòu),不允許刪除!","error.org.del",org.getOname());

    posted on 2009-11-30 08:17 junly 閱讀(500) 評(píng)論(0)  編輯  收藏 所屬分類: struts2/struts1.3/JSF
    主站蜘蛛池模板: 亚洲gv白嫩小受在线观看| 亚洲人成影院午夜网站| 国产成人 亚洲欧洲| 在线免费观看毛片网站| 亚洲中文字幕无码亚洲成A人片 | 亚洲AV成人无码网天堂| 成人免费视频77777| 亚洲一区二区三区高清视频| 免费观看AV片在线播放| 亚洲男人天堂2022| 在线观看免费大黄网站| 亚洲日韩在线中文字幕综合| 国产精品二区三区免费播放心 | 日本成年免费网站| 亚洲xxxxxx| 国产老女人精品免费视频| 久久亚洲中文字幕无码| 亚洲高清成人一区二区三区| 亚洲阿v天堂在线| 一级毛片成人免费看免费不卡 | 亚洲精品二区国产综合野狼| wwwxxx亚洲| 精品久久免费视频| 免费国产va视频永久在线观看| 亚洲国产专区一区| 久久福利青草精品资源站免费| 黄网址在线永久免费观看| 亚洲爆乳AAA无码专区| 精品免费人成视频app| 亚洲a级成人片在线观看| 免费无码黄动漫在线观看| 九九九精品视频免费| 亚洲AV电影院在线观看| 麻豆最新国产剧情AV原创免费| 亚洲日韩亚洲另类激情文学| 免费吃奶摸下激烈视频| 亚洲a一级免费视频| 亚洲av无码专区在线电影天堂| 国产成人综合亚洲亚洲国产第一页 | japanese色国产在线看免费| 久久精品a亚洲国产v高清不卡|