Struts1.1の新機能として、Actionクラスで発生した例外を汎用的に処理する機能があります。これはstruts-config.xmlに例外の種類、遷移先のパス、ApplicationResource?.propertiesのキー、を宣言しておけば、Actionクラスで例外がThrowされたときに、勝手に画面遷移やメッセージ表示をしてくれるという便利なものです。これを使うことによって
などのメリットがありそうです。
ここでは超手抜きして、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 で
errors.unknown= 検索で何らかのエラーが発生しました。<br />{0}
としておけば、java.lang.ExceptionがThrowされたときに画面に
検索で何らかのエラーが発生しました。<br />「例外メッセージ」
が表示されます*2。
これも
という仕様なのでしょうか?やっぱその場合はActionで例外を処理するんでしょうかね。 あくまで、ロジックによる例外ではなく想定外の例外(?)の時の制御をさせると考えた方がよいんですかね。
この記事は
現在のアクセス:11809