JSF 2.0およびリソース・バンドルの例

JSF 2.0およびリソースバンドルの例

このチュートリアルでは、リソースバンドルを使用してJSF 2.0でメッセージを表示する方法を示します。 保守性を考慮して、ページに直接メッセージをハードコーディングするのではなく、すべてのメッセージをプロパティファイルに入れることを常にお勧めします。

1. プロパティファイル

プロパティファイルを作成し、ページのメッセージを含めて、プロジェクトのリソースフォルダーに配置します。下図を参照してください

messages.properties

message = This is "message"
message.test1 = This is "message.test1"
message.test2 = This is "

message.test3

" message.test3 = This is "

message.test4

" message.param1 = This is "message.param1" - {0} message.param2 = This is "message.param2" - {0} and {1}

プロジェクトのフォルダー構造。

jsf2-resource-bundles-folder

2. リソースバンドルの使用

プロパティファイルをJSF 2.0にロードするには、2つの方法があります。

1. Global Resource Bundle
プロパティファイルをグローバルにロードして、すべてのjsfページがメッセージにアクセスできるようにします。 「faces-config.xml」ファイルを作成し、プロパティファイルを明示的に宣言できます。

faces-config.xml


     
      
        com.example.messages
        msg
       
     

2. Local Resource Bundle
プロパティファイルをローカルにロードするか、指定されたページのみにロードします。 messages.propertiesのメッセージにアクセスする必要があるページで<f:loadBundle />タグを宣言します。

3. JSF 2.0ページ

この場合、messages.propertiesファイルには「msg」という名前が付けられます。メッセージにアクセスするには、「msg.key」を使用するだけです。

hello.xhtml




    
      

JSF 2.0 and Resource Bundles Examples

4. 使い方?

Example 1
メッセージにアクセスする通常の方法。



//properties file
message = This is "message"

Example 2
ドット「。」が付いているキーの場合。名前として、通常の方法\{msg.message.test1}を使用することはできず、機能しません。 代わりに、\{msg[‘message.test1’]}のような角かっこを使用する必要があります。



//properties file
message.test1 = This is "message.test1"

Example 3
メッセージにHTMLタグを表示するには、「escape」属性を追加してfalseに設定します。






//properties file
message.test2 = This is "

message.test3

" message.test3 = This is "

message.test4

"

Example 4
パラメータメッセージには、<h:outputFormat />および<f:param / >タグを使用します。


   


   
   


//properties file
message.param1 = This is "message.param1" - {0}
message.param2 = This is "message.param2" - {0} and {1}

ソースコードをダウンロード

ダウンロード–JSF-2-Resource-Bundles-Example.zip(8KB)