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

Shinpei Ohtani shinpei.ohtani
2005年 8月 5日 (金) 00:01:59 JST


大谷(shot)です。

FacesContextをとる方法は、JSFのベタな方法でよいなら、
FacesContext.getCurrentInstance()で取れます。

例外のcatch&再throwとかなら、
S2のThrowsInterceptorか、もしくはそれの拡張クラスを
作ればよいのではないでしょうか?


何かのご参考になれば幸いです。

05/08/04 に 松山 大樹<[E-MAIL ADDRESS DELETED]> さんは書きました:
> 
> 松山と申します。
> 
> 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 mailing list
> [E-MAIL ADDRESS DELETED]
> http://lists.sourceforge.jp/mailman/listinfo/seasar-user
> 


-- 
=============================
Shinpei Ohtani
[E-MAIL ADDRESS DELETED]
=============================



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