【struts 2】国際化

3260 ワード

Struts 2の国際化はjava国際化の基礎の上で創立するので、同様に異なっている国家/言語の環境のニュースの資源を提供することを通じて(通って)で、そしてResource Bundelを通じて(通って)Locale対応する資源のファイルをロードして指定して、更にこの資源のファイルの中でkey対応するニュースを指定します。ただ、Struts 2の枠組みはjavaプログラムの国際化をさらにパッケージ化し、アプリケーションの国際化を簡略化しました。
    
Struts 2にグローバルリソースファイルをロードする
         Struts 2は国際的な資源ファイルをロードする方法をたくさん提供しています。最も簡単なのはグローバルな国際資源ファイルをロードすることです。グローバル国際化資源ファイルをロードする方式は構成定数によって実現されます。struts.xmlファイルに常量を配置して、struts.c.i 18 n.reourcus定数だけを配置すればいいです。
         struts.custom.i 18 n.resourceの定数を設定する場合、この定数の値はグローバル国際化リソースファイルのbaseNameであり、システムが国際化リソースファイルをロードする必要があると仮定すると、struts.xmlファイルには次のような定数が設定されます。
         
<!--  struts2        baseName messageResource-->
<constant name="struts.custom.i18n.resources" value="messageResaouce" />
        
          この方法で国際資源ファイルを読み込むと、Struts 2のアプリケーションは全てのところでこれらの国際リソースファイルをロードすることができます。
リソースファイルの読み込み方法
        
        1.パッケージ範囲のリソースファイル:パッケージのルートで複数のファイル名のpackageを作成する。laguage.country.propertiesのファイルは、このシリーズの国際的なリソースファイルが確立されると、アプリケーション内の当該パッケージにあるすべてのアクションは、このリソースファイルにアクセスすることができます。例えば、リソースファイルをWEB-INF/clases/apパスに置くと、このリソースファイルは、apパッケージおよびそのサブパッケージの下にあるすべてのアクションにアクセスすることができます。
        2.アクション範囲リソースファイル:カバンのルートルートで複数のファイルを作成するアクションNamelaguage.country.propertiesのファイルは、いったんこのシリーズの国際化リソースファイルを作成したら、このシリーズのリソースファイルはこのアクションでしかアクセスできません。
        3.一時的にリソースファイルを指定します。このようにすれば、JSPページで国際化メッセージを出力する際に国際化ボランティアファイルの位置を一時的に指定できます。ラベルをラベルの親タグとすると、ラベルはラベルに指定された国際リソースファイルをロードします。
 
国際ニュースへのアクセス
         Struts 2は非常に簡単なJSPページとアクションで国際化メッセージを出力することを提供します。
        Struts 2が国際化メッセージにアクセスする3つの方法:
         1.JSPページではラベルを使用して、このラベルのname属性は国際化リソースファイルのkeyを指定しています。
         2.アクションでは、国際リソースファイルのkeyを作成するnameパラメータを受け入れるActSupportクラスのget Text方法が使用され得る。
         3.フォーム要素Labelに国際化情報を出力し、当該フォームのラベルにkey属性を指定することができます。このkeyは国際化リソースファイルのkeyを制定しました。
 
国際化メッセージをプレースホルダ付きで出力します。
       struts 2には、メッセージ文字列の中のプレースホルダを埋める2つの方法が提供されている。
        1.JSPではラベルに複数のタグを使用してメッセージの中のプレースホルダを充填し、最初のラベルに第一のプレースホルダの値を指定し、第二のタブに第二のプレースホルダの値を指定します。
        2.アクションでは、getTextメソッドを呼び出したときに、get Text(String a TextName、List args)またはget Text(Stringga Text Name、String[]args)を使用して、プレースホルダを充填することができます。文字列配列またはセットの最初の要素は、最初のプレースホルダに充填され、第二の要素は、第二のストップを埋めることができます。
       
例を引く
          小さい例をあげます。国際化を利用すれば。
          1.まず国際資源ファイルを定義する。
failTip={0},Sorry,you can't log in!
succTip={0},Welcome,you has logged in!
welcomeMsg={0},hello! now is {1}!
         2.アクションで当該国際リソースファイルを使用する
string message=getText("succTip",new String[]{"tgb"});// Action              ,        。
          3.htmlで国際資源ファイルを使う
<s:text name="welcomeMsg">
       <s:param>tgb</s:param>
	     <s:param>2016-10-21</s:param>
</s:text>	
締め括りをつける
       国際化は商業システムの基本的な要求であり、現在のソフトウェアシステムは開放的なシステムであり、国際化は商業システムの不可欠な一部であると同時に、国際化についてもっと理解すべきなのはこのような思想がプログラミングにもたらした便利さです。