Beispiel für JSF 2.0 und Ressourcenpakete

Beispiel für JSF 2.0 und Resource Bundles

In diesem Lernprogramm wird die Verwendung des Ressourcenpakets zum Anzeigen von Nachrichten in JSF 2.0 veranschaulicht. Aus Gründen der Wartbarkeit wird immer empfohlen, alle Nachrichten in die Eigenschaftendatei aufzunehmen, anstatt die Nachricht direkt in der Seite fest zu codieren.

1. Eigenschaftendatei

Erstellen Sie eine Eigenschaftendatei, die eine Nachricht für die Seite enthält, und legen Sie sie im Ressourcenordner des Projekts ab (siehe Abbildung unten)

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}

Projektordnerstruktur.

jsf2-resource-bundles-folder

2. Verwenden von Ressourcenpaketen

Es gibt zwei Möglichkeiten, die Eigenschaftendatei in JSF 2.0 zu laden.

1. Global Resource Bundle
Zum globalen Laden der Eigenschaftendatei, damit alle jsf-Seiten auf die Nachrichten zugreifen können. Sie können eine "faces-config.xml" -Datei erstellen und die Eigenschaftendatei explizit deklarieren.

faces-config.xml


     
      
        com.example.messages
        msg
       
     

2. Local Resource Bundle
Zum Laden der Eigenschaftendatei lokal oder nur für die angegebene Seite. Deklarieren Sie das<f:loadBundle />-Tag auf der Seite, die auf die Nachricht inmessages.properties zugreifen muss.

3. JSF 2.0-Seiten

In diesem Fall erhält die Dateimessages.properties den Namen „msg“. Um auf die Nachricht zuzugreifen, verwenden Sie einfach „msg.key“.

hello.xhtml




    
      

JSF 2.0 and Resource Bundles Examples

4. Wie es funktioniert?

Example 1
Ein normaler Weg, um auf die Nachricht zuzugreifen.



//properties file
message = This is "message"

Example 2
Für einen Schlüssel mit einem Punkt "." Als Name können Sie\{msg.message.test1} nicht auf die normale Weise verwenden, es funktioniert nicht. Verwenden Sie stattdessen eine Klammer wie\{msg[‘message.test1’]}.



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

Example 3
Um ein HTML-Tag in der Nachricht anzuzeigen, fügen Sie einfach das Attribut "escape" hinzu und setzen Sie es auf "false".






//properties file
message.test2 = This is "

message.test3

" message.test3 = This is "

message.test4

"

Example 4
Verwenden Sie für eine Parameternachricht einfach das Tag<h:outputFormat /> und<f:param / >.


   


   
   


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

Quellcode herunterladen

Laden Sie es herunter -JSF-2-Resource-Bundles-Example.zip (8 KB)