[Seasar-user:2472] [S2JSF] ビジネスロジック内での FacesContext の取得

松山 大樹 t.matsuyama
2005年 8月 4日 (木) 17:41:56 JST


 松山と申します。

 S2JSF いろいろ試してます。それでひとつ質問があります。

 <input type="submit" value="登録" m:action="#{registBean.regist}" />

 のように、html から実行されるビジネスロジックがあり、この中で、
FacesContext を使用したい場合、どのようにすればいいのでしょう?

 private FacesContext context = null;
  public setContext(FacesContext aContext) {
    context = aContext;
  }

  public String regist() {
      :
    処理
      :
    return "ok";
  }

 とやっておいて、dicon ファイルで、

 <component name="registBean" class="jp.co.hoge.RegistBean" />
 <component name="context" class="javax.faces.context.FacesContext" />

 と定義したら、java.lang.InstantiationException と怒られました。
 あたりまえですね。

 なぜ、こんなことをやりたいかというと、regist() で発生したエラーメッセージなどを、
ソース内にハードコーディングしたくないからなのですが。
 バリデータの場合、

   FacesMessage errorMessage = MessageFactory.getMessage(aContext, "error.field1And2");
   throw new ValidatorException(errorMessage);

 とやりますが、これと同じことをやりたいのです。





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