[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 メーリングリストの案内