您的位置:首页 >> 编程开发 >> Java >> Struts/Hibernate >> 正文
Struts/Hibernate RSS
 

struts通用Exception处理

http://www.rdxx.com 08年06月25日 00:00 我要投稿

关键词: 通用 , Struts , exception , PTi
    struts通用Exception处理 自定义一个Exception类继承自RunTimeException,定义属性key、values等,并实现多个构造方法用于初始化。 如: 
    private String key;
    private Object values;
    //带key和参数
    public SystemException(String message,String key,Object value){
      super(message);
      this.key=key;
      this.values=new Object[]{value};
    }
    //带key和参数数组
    public SystemException(String message,String key,Object values[]){
      super(message);
      this.key=key;
      this.values=values;
    }
    public SystemException(String message,String key) {
      super(message);
    }
    struts-config.xml配置 <global-exceptions> <!-- 全局异常 --> <exception key="error" type="java.lang.Exception" path="/common/error.jsp" /> </global-exceptions> 在ExceptionHandler中实现附加参数等处理,如SystemExceptionHandler继承ExceptionHandler重写execute方法: Java代码
    public ActionForward execute(Exception ex, ExceptionConfig ec,
       ActionMapping mapping,
       ActionForm form,
       HttpServletRequest request,
       HttpServletResponse response) throws ServletException {
      ActionForward forward=null;
      if(ec.getPath()!=null){
       forward=new ActionForward(ec.getPath());
      }else{
       forward=mapping.getInputForward();
      }
      logger.debug("出现异常",ex);
      if (ex instanceof SystemException) {
       SystemException se = (SystemException) ex;
       String key=se.getKey();
       ActionMessage error=null;
       if(key==null){
        //无参,输入message
        error=new ActionMessage(key,se.getMessage());
       }else{
        if(se.getValues()!=null){
         //带参
         error=new ActionMessage(key,se.getValues());
        }else{
         //不带参
         error=new ActionMessage(key);
        }
       }
   &nbs

上一页 下一页


 
 
标签: 通用 , Struts , exception , PTi 打印本文
 
 
  热点搜索
 
 
 


Copyright ©2005 - 2008 Rdxx.Com,All Rights Reserved
收藏本页
收藏本站