[Seasar-user:6239] Re: TeedaAjaxでのメッセージ取得について
秋草 森彦
[E-MAIL ADDRESS DELETED]
2007年 2月 19日 (月) 22:20:12 JST
秋草です。
いつもお世話になっております。
説明が足りてないかと思い、より詳細を付け足します。
faces-config.xmlにて、以下のような設定をしています。
<application>
<message-bundle>appMessages</message-bundle>
<locale-config>
<default-locale>en</default-locale>
<supported-locale>ja</supported-locale>
</locale-config>
</application>
これにより、Teeda内でAppMessagesの情報を管理することになっていると思われます。
管理している内容は:
1. MessageBundleのファイルの名前が appMessages であること。
2. LocaleのDefaultが en であること。
3. SupportしているLocaleが ja であること。
これらの情報はFacesContextから取得できます。
この管理している内容をTeedaAjaxで実行されるPojoでも利用して
Messageを取得したいと考えております。
Localeに関しては重要で、何がDefaultで何をSupportしているのか
の設定を重複させたくないのです。(運用中に追加されていく可能性あり)
faces-config.xmlの設定は、Doltengで自動生成されたもので、
ここで一元管理されているものとして考えていたのですが、
そういう位置づけのものではなかったでしょうか?
(勝手にそう思い込んでしまいました。違っていればすいません...)
もしそうならば逆に、Teedaが利用するfaces-config.xmlにおける
message-bundleの設定を「Project独自の外部File」などから取得できるように
したいと考えます。
それとも、FacesServlet経由のRequestとAjaxServlet経由のRequestでは、
全くの作りをするべきでしょうか...(違うFrameworkと考えるべきか)
できれば、「TeedaContext」というようなFaces経由かAjax経由か
を意識しないContextがあればうれしいかなと思った次第です。
(共通Classなどで、必ずFaces経由かAjaxServlet経由かを意識しないと
いけないもので...)
現状、FacesContext.getCurrentInstance()がnullの場合は、
"appMessages"とLocaleのDefaultをハードコードしてMessageを取得しております。
国際化考慮としてはもうちょい精査してなければなりませんが、
動作はしていますので、特にTeedaとして何もActionが無くても
何とかはなりそうではあります。
ただ、こういう意見もあるということを認識して頂ければ幸いです。
以上です。
+++++++++++++++++++++++++++++++++++++++++
(株)ビルドシステム
医療システム開発部
秋草 森彦
TEL : 03(3226)3782
FAX : 03(3226)3775
WebURL : http://www.buildsystem.jp/
+++++++++++++++++++++++++++++++++++++++++
Seasar-user メーリングリストの案内