jp.terasoluna.fw.web.struts.action
クラス SystemExceptionHandler
java.lang.Object
org.apache.struts.action.ExceptionHandler
jp.terasoluna.fw.web.struts.action.SystemExceptionHandler
public class SystemExceptionHandler
- extends org.apache.struts.action.ExceptionHandler
SystemException例外処理クラス。
システム例外時のログ出力と エラー画面への遷移を行う。
アクション実行中にシステム例外が発生したときは、
エラー情報をログ出力した上で、当該アクションマッピングに定義されている
システムエラー画面に遷移する。
本機能を利用するためには、Struts設定ファイル(struts-config.xml)に
グローバル例外、またはアクションレベル例外ハンドラクラスとして指定する。
グローバル例外と、アクションレベル例外が衝突している場合、
Strutsの仕様によりアクションレベル例外が優先される。
グローバル例外としてのシステム例外設定例
Struts設定ファイル(struts-config.xml)に以下のように書く。
<struts-config>
…
<global-exceptions>
<exception key="some.key"
path="/system-error"
type="jp.terasoluna.fw.exception.SystemException"
handler="jp.terasoluna.fw.web.struts.action.SystemExceptionHandler">
<set-property property="module" value="/exp"/>
</exception>
</global-exceptions>
…
<struts-config>
アクションレベル例外としてのシステム例外設定例
<struts-config>
…
<action path="/start"
type="jp.terasoluna.sample.xxx.SampleAction"
name="_sampleForm"
scope="session">
<exception key="some.key"
type="jp.terasoluna.fw.exception.SystemException"
className="jp.terasoluna.fw.web.struts.action.ExceptionConfigEx"
handler="jp.terasoluna.fw.web.struts.action.SystemExceptionHandler"
path="/sub-forward.do">
<set-property property="module" value="/sub"/>
</exception>
<forward name="success" path="/index.jsp"/>
</action>
…
<struts-config>
なお、<exception>要素のpath属性で遷移先パスが指定
されない場合は、アクションマッピングのinput属性を
転送先リソースとする。
- 関連項目:
SystemException
,
ExceptionConfigEx
フィールドの概要 |
private static org.apache.commons.logging.Log |
log
ログクラス。 |
メソッドの概要 |
org.apache.struts.action.ActionForward |
execute(java.lang.Exception ex,
org.apache.struts.config.ExceptionConfig eConfig,
org.apache.struts.action.ActionMapping mapping,
org.apache.struts.action.ActionForm formInstance,
javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response)
SystemException例外ハンドラのエントリポイント。 |
private java.lang.String |
getErrorMessage(javax.servlet.http.HttpServletRequest req,
SystemException se,
org.apache.struts.util.MessageResources resources)
メッセージリソースに対してメッセージキーを指定することで
エラーメッセージを取得する。 |
クラス org.apache.struts.action.ExceptionHandler から継承されたメソッド |
logException, storeException, storeException |
クラス java.lang.Object から継承されたメソッド |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
log
private static org.apache.commons.logging.Log log
- ログクラス。
SystemExceptionHandler
public SystemExceptionHandler()
execute
public org.apache.struts.action.ActionForward execute(java.lang.Exception ex,
org.apache.struts.config.ExceptionConfig eConfig,
org.apache.struts.action.ActionMapping mapping,
org.apache.struts.action.ActionForm formInstance,
javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response)
throws javax.servlet.ServletException
- SystemException例外ハンドラのエントリポイント。
- オーバーライド:
- クラス
org.apache.struts.action.ExceptionHandler
内の execute
- パラメータ:
ex
- 例外eConfig
- 例外コンフィグmapping
- `アクションマッピングformInstance
- アクションフォームrequest
- HTTPリクエストresponse
- HTTPレスポンス
- 戻り値:
- エラーメッセージ
- 例外:
javax.servlet.ServletException
- サーブレット例外
getErrorMessage
private java.lang.String getErrorMessage(javax.servlet.http.HttpServletRequest req,
SystemException se,
org.apache.struts.util.MessageResources resources)
- メッセージリソースに対してメッセージキーを指定することで
エラーメッセージを取得する。
- パラメータ:
req
- HTTPリクエストse
- SystemExceptionresources
- メッセージリソース
- 戻り値:
- エラーメッセージ