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