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

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

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

    隨筆-124  評論-49  文章-56  trackbacks-0

    1 自定義異常類 SystemException.java

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

     //實現父類的構造方法
     public SystemException() {
      super();
     }

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


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


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

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

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

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

    //作用:截獲SystemException,并根據SystemException中的信息動態創建ActionMessage等這些錯誤信息,
            將其存在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;
      //創建ActionForward
      if(config.getPath()!=null){
       //有path屬性,則根據path創建
       forward=new ActionForward(config.getPath());
      }else {
       //沒有path屬性,則根據input屬性創建
       forward=mapping.getInputForward();
      }
      if(ex instanceof SystemException){
       SystemException se=(SystemException)ex;
       //key可有可無,所以取出key進行判斷
       String key=se.getKey();
       ActionMessage error=null;
       //如果自定義的key為空,用struts的
       if(key==null){
        //拿出error.default和message,創建ActionMessage對象
        error=new ActionMessage(config.getKey(),se.getMessage());
       }else {
        //如果自定義的key有值
        if(se.getValues()!=null){
         error=new ActionMessage(key,se.getValues());
        }else {
         //如果自定義的key有值,則根據key創建ActionMessage對象
         error=new ActionMessage(key);
        }
       }
       //將這個ActionMessage放到request中。key為自定義的,error為ActionMessage對象
       //forward是要轉到什么地方,根據path屬性創建。"request"為scope的一個,也可以
       //用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 業務代碼

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

    posted on 2009-11-30 08:17 junly 閱讀(500) 評論(0)  編輯  收藏 所屬分類: struts2/struts1.3/JSF
    主站蜘蛛池模板: 香蕉免费看一区二区三区| 亚洲人xxx日本人18| 黄色a三级免费看| 国产婷婷高清在线观看免费| 亚洲国产成人精品无码一区二区| 最近免费字幕中文大全视频| 亚洲黄色片在线观看| 8x网站免费入口在线观看| 亚洲五月六月丁香激情| 午夜免费福利视频| 久久亚洲私人国产精品vA | 中文字幕无码视频手机免费看| 亚洲最大福利视频网站| 人成午夜免费视频在线观看| 亚洲av专区无码观看精品天堂 | 免费无码专区毛片高潮喷水| 又粗又大又长又爽免费视频| rh男男车车的车车免费网站| 国产亚洲大尺度无码无码专线 | 亚洲真人日本在线| 西西人体免费视频| 亚洲人成网www| 国产卡一卡二卡三免费入口| 亚洲jizzjizz少妇| 亚洲国产免费综合| 少妇性饥渴无码A区免费 | 精品熟女少妇aⅴ免费久久| 亚洲日韩小电影在线观看| 一级毛片免费观看不卡的| 亚洲一区二区三区免费观看| 四虎影视精品永久免费网站| 中文字幕一区二区免费| 亚洲妇女水蜜桃av网网站| 黄a大片av永久免费| 国产免费伦精品一区二区三区| 久久狠狠高潮亚洲精品| 中文字幕无码不卡免费视频| 免费国产va视频永久在线观看| 亚洲色WWW成人永久网址| 国产精品视频永久免费播放| caoporn成人免费公开|