目次 > 第2章 Server(Web)版チュートリアル >  2.11 例外処理(業務例外) > 2.11.2 業務例外ハンドリングの設定

2.11.2 業務例外ハンドリングの設定

前項で作成した業務例外クラスに対するハンドリング設定を行う。
例外処理(システム例外)」同様、Struts設定ファイルに記述するが、業務例外の場合はアクションパスごとに記述する。

手順

本項では以下の作業が必要になる。

(1) メッセージリソースファイルの編集

エラー画面に表示するメッセージを追加する。

  1. “terasoluna-spring-thin-blank\sources\application-messages.properties”を開き、以下のメッセージを追加する。
    errors.insert.error=業務エラーが発生しました。
    

(2) Struts設定ファイルの編集

  1. “terasoluna-spring-thin-blank\webapps\WEB-INF\userManager\struts-userManager-config.xml”を開き、登録処理のアクションにハンドリングの設定を追加する。
    <!-- ======================================== アクションマッピング定義 -->
      <action-mappings type="jp.terasoluna.fw.web.struts.action.ActionMappingEx">
    
        ・・・略・・・
    
        <!-- 登録処理用アクション -->
        <action path="/userManager/insertBL"
                name="_userManagerForm" scope="session"
                validate="true" input="/userManager/insertSCR.do">
    
                <!-- ここから -->
                <exception key="errors.insert.error"
                           path="/error.jsp"
                           className="jp.terasoluna.fw.web.struts.action.ExceptionConfigEx"
                           handler="jp.terasoluna.fw.web.struts.action.DefaultExceptionHandler"
                           type="jp.terasoluna.thin.tutorial.web.usermanager.exception.InsertException">
                           <set-property property="logLevel" value="error"/>
                </exception>
                <!-- ここまで -->
    
                <forward name="success" path="/userManager/resultSCR.do" />
                <forward name="failure" path="/userManager/insertSCR.do" />
        </action>
    
        ・・・略・・・
    

<exception>要素のkey属性に、(1)で追加したメッセージキー、type属性に、前項で作成した業務例外クラスを指定する。また、handler属性には、Server(Web)版が提供するDefaultExceptionHandlerを指定する。
その他の属性については、「例外処理(システム例外) 2.10.1 システム例外ハンドリングの確認」を参照のこと。


次項:2.11.3 トランザクションの設定

Copyright (C) 2009 NTT DATA CORPORATION