Top / Struts / 1.1での例外処理

Struts1.1の新機能として、Actionクラスで発生した例外を汎用的に処理する機能があります。これはstruts-config.xmlに例外の種類、遷移先のパス、ApplicationResource?.propertiesのキー、を宣言しておけば、Actionクラスで例外がThrowされたときに、勝手に画面遷移やメッセージ表示をしてくれるという便利なものです。これを使うことによって

などのメリットがありそうです。

struts-config.xmlの記述

ここでは超手抜きして、java.lang.Exceptionに対する例外処理を書いてみましょう(もちろん本当はちゃんとサブクラスについて書きましょう。Exceptionだけでひとつの処理としてしまうと、例外機構の意味がないですからね)。

<global-exceptions>
  <exception type="java.lang.Exception" key="errors.unknown"
              path="kino.tiles.passwordsearch"/>
</global-exceptions>

こんだけです。これでActionクラスで例外がThrowされたときはpathで指定した画面に遷移します。

エラー画面の記述

エラー画面の遷移先では

<html:errors/>

を書いておきます。

ApplicationResource?.propertiesの記述

ApplicationResource?.properties で

errors.unknown= 検索で何らかのエラーが発生しました。<br />{0}

としておけば、java.lang.ExceptionがThrowされたときに画面に

検索で何らかのエラーが発生しました。<br />「例外メッセージ」

が表示されます*2

感想

これも

という仕様なのでしょうか?やっぱその場合はActionで例外を処理するんでしょうかね。 あくまで、ロジックによる例外ではなく想定外の例外(?)の時の制御をさせると考えた方がよいんですかね。


この記事は

選択肢 投票
おもしろかった 7  
そうでもない 7  

Top / Struts / 1.1での例外処理

現在のアクセス:11795


*1 ビジネスロジックの例外は手を抜いちゃダメだよ
*2 {0}はe.getMessage()かな?

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS