Guides

          對guides這個詞認識源于struts文檔,參考、指南,這里是sfilyh 關(guān)于CODE的guides。

            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            21 隨筆 :: 1 文章 :: 5 評論 :: 0 Trackbacks
          struts2提供了聲明式異常處理,可以針對不同的異常做不同的處理。我想攔截Action中的所有異常,然后通過Log4j進行日志記錄,再呈現(xiàn)到頁面。

          首先在struts配置文件中配上一個全局的java.lang.Exception。這樣所有異常都會被這個exception-mapping所攔截,并返回一個name為ALL_EXCEPTION的result

                  <global-exception-mappings>
                      <exception-mapping result="ALL_EXCEPTION" exception="java.lang.Exception"/>
                  </global-exception-mappings>

          再來配置一個<global-results>來處理異常,通過chain跳轉(zhuǎn)到exectionHandle這個action中

                  <global-results>       
                      <result name="ALL_EXCEPTION" type="chain">exectionHandle</result>
                  </global-results>

          exectionHandle配置,這里的action用spring來管理的(exectionHandleAction)。處理異常后返回到指定界面(界面用的veloctiy模板)。

                  <action name="exectionHandle" class="exectionHandleAction">
                      <result type="velocity">/WEB-INF/public_ucenter_shopmanage/ServerExceptionPage.html</result>            
                  </action>

          最后看一下action中的處理,直接用logo4j輸出。

          public class ExceptionHandleAction extends ActionSupport{
              private static final long serialVersionUID = 6019598646317953160L;
              private static Logger logger = Logger.getLogger(ExceptionHandleAction.class);
              
              @Override
              public String execute() throws Exception {
                  String logoInfo = ActionContext.getContext().getValueStack().findString("exceptionStack");
                  logger.info(logoInfo);
                  logger.debug(logoInfo);
                  return SUCCESS;
              }    
          }
          posted on 2011-11-16 16:48 Guides 閱讀(215) 評論(0)  編輯  收藏

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


          網(wǎng)站導航:
           
          主站蜘蛛池模板: 牙克石市| 本溪市| 石台县| 滨海县| 江川县| 苍山县| 琼结县| 博野县| 黑河市| 松溪县| 上栗县| 大关县| 江孜县| 富平县| 澄城县| 清镇市| 公安县| 西平县| 延安市| 华蓥市| 漳浦县| 凤台县| 台北市| 兴仁县| 邹平县| 房山区| 商城县| 海原县| 英山县| 松桃| 沾化县| 微博| 青阳县| 赤壁市| 松潘县| 会理县| 若尔盖县| 景泰县| 阿荣旗| 黑河市| 南通市|