[Seasar-user:9787] メッセージの出力方法について

[E-MAIL ADDRESS DELETED] [E-MAIL ADDRESS DELETED]
2007年 8月 8日 (水) 15:48:05 JST


お世話になっております。TuMikiです。

メッセージ出力に関して以下のように使おうと考えています。

【概要】
1.id名の取得
  LabelHelperをDIして実現、これは問題ないと考えています。
2.エラーメッセージの追加
  パッケージ名にinternalが含まれているクラスを使用しています。
  直接使ってよいでしょうか?

3.独自エラー時のメッセージ
  メッセージファイルをappMessages.propertiesにまとめたかったので、
  IDをeapp0001というようなIDにしていますが、使い方に問題は無いでしょうか?

1番以外は、「ソースを見たらこれで動いた」レベルなので今ひとつ自信がありません
。
よろしくアドバイス願います。


【詳細】
1.id名の取得
Teeda.extension.utilにLabelHelperが用意されているので、
Pageクラスでsetterを用意すれば取得できる。

  import org.seasar.teeda.extension.util.LabelHelper; 

  プロパティ&setter
  protected LabelHelper lh;
  public void setLabelHelper(LabelHelper lh) { this.lh = lh; };

  呼び出し
  idName = lh.getLabelValue("ID001");

2.エラーメッセージの追加
  パッケージ名にinternalが含まれていますが、これを直接使ってよいでしょうか?

  import javax.faces.internal.FacesMessageUtil;

  FacesMessageUtil.addErrorMessage("I1000", new String[]{ lh.getLabelValue("id
01"), "引数2"});

  appMessages.propertiesに
  I1000=[I1000]メッセージ確認2:{0}が{1}です
  とあれば、置き換わる。引数は{0}と0からの番号で対応付けられる。
  コード中にIDが現れないため実体に[I1000]のようにIDを記述する。

3.独自エラー時のメッセージ
  throw new SRuntimeException("eapp0001");
  と記述する。
  2文字目から3文字+"Messages.properties"という名前のリソースファイルから取得
している。
  (大文字小文字を区別する)
  上の例では
  appMessages.propertiesに
  eapp0001=データおかしいよ
  と記述すれば、置き換わって表示される。
  ただし、idの長さが8文字という制約がある
以上




Seasar-user メーリングリストの案内