- - PR -
ResourceファイルとActionErrorクラスの連携について
1
| 投稿者 | 投稿内容 |
|---|---|
|
投稿日時: 2004-04-14 15:18
こんにちは。
現在Struts1.1とeclipseを使って開発をしています。 エラー処理として、ActionErrorクラスのように、引数を渡して エラー表示したいと考えています。 例) ErrorResourcesファイルの設定: error01=ファイル名が不正です。{0} error02=・・・ UserExceptionクラスの記述: try { ・ ・ ・ } catch (Exception e) { UserException ue = new UserException("error01","週報ファイル"); throw ue; } こんな感じでResourceファイルの配列{0}に引数(ここでは"週報ファイル"という文字列) を渡したいのですが、ActionErrorのソースを見ても、ResourceファイルとActionError の引数の引渡し方法がいまいちわかりません。 現在はExceptionクラスを拡張し、引数を複数とってjspに渡していますが、 jsp側で引数が何個設定されたかを判定する手間がかかるので、できれば resourceファイルの配列に値を指定したいです。 この件について、なにか情報があればぜひ教えてください。 |
|
投稿日時: 2004-04-14 15:49
ActionErrorsを生成してやり
エラーが起きたところなどで、エラーを追加してください。 最後にエラーほ保存してやればうまくいくと思います。 あとは、リソースファイルの変換をお忘れなく。 // sample code ActionErrors errors = new ActionErrors(); errors.add("xxx",new ActionError("error01", "週報ファイル")); saveErrors(request, errors); |
|
投稿日時: 2004-04-14 21:17
おかださん、返信ありがとうございました。
返事が遅くなり、失礼しました。 やっとそれらしきことができました! (リソースファイルの変換も対応しました) jsp内でのActionErrorsの編集が 以下のとおりで、結構大変なことになりましたが、 これは仕方がないのでしょうか? <% ActionErrors u = (ActionErrors) o; Iterator it = u.get(); ActionError ac = (ActionError)it.next(); Object[] obj = ac.getValues(); String str = (String)obj[0]; String key = ac.getKey(); %> ・・・ <html:errors bundle="error_r" /> <bean:message key="<%= key %>" bundle="error_r"/><%= str %> ・・・ 引数が複数ある場合はループでまわす処理も入るのかな。 でも、大元のソースでは同じような事をしているような・・・ 何かいい方法があれば、ぜひ教えてください。 |
|
投稿日時: 2004-04-14 21:54
自己レスです。
そんな面倒なことをしなくても、実現できました。 お騒がせしました。。。 jspを以下のコードにしました。 <html:errors bundle="error_r" /> 最後の難関ですが、この文字列をjavaのString変数として 取得したいです。(さらに編集処理を加えるため) 何かよい方法がありましたら、教えてください。 |
1
