2016-04-05 3 views
0

Ich habe eine JSF-Anwendung, von der ich eine E-Mail senden möchte. Jetzt möchte ich den Inhalt der E-Mail nicht in meine i18n-Datei einfügen. Ich dachte, es in einer externen Datei zu speichern, sagen wir email1_de.txt und email1_en.txt.JSF externe Datei basierend auf dem Gebietsschema

Kann ich diese Datei irgendwie abhängig vom Gebietsschema des Benutzers laden?

Dank

+0

Wie extern ist "extern"? Ist es über Klassenpfad verfügbar? Oder könnte der Pfad zum Klassenpfad hinzugefügt werden? Wenn das so wäre, wäre 'ResourceBundle' einfach. – BalusC

+0

Ja, es wäre über Classpath zugänglich. – matthias

Antwort

0

Warum Sie ein Ressourcenbündel einfach nicht verwenden. 1. Erstellen Sie eine Message.properties Datei in einem Ihrer Pakete Quellcode und dann in dieser Datei, fügen Sie Ihre E-Mail-Inhalt, in einfachen oder HTML-Format wie folgt:

message.test3 = This is "<h2>message.test4</h2>" 
message.param1 = This is "message.param1" - {0} 
message.param2 = This is "message.param2" - {0} and {1} 

Sie auch Parameter enthalten kann.

  1. Erklären Sie Ihre Ressourcenbündel in Ihrer Datei faces-config.xml
  2. Sie können den Text in Ihrem Ressourcenbündel von Ihnen Klasse aufrufen oder aus dem HTML-Dateien.

Sie in diesem Beispiel aussehen: http://www.mkyong.com/jsf2/jsf-2-0-and-resource-bundles-example/

Wenn Sie mit verschiedenen Schauplätzen zu tun haben, dann können Sie hier sehen: http://www.mkyong.com/jsf2/jsf-2-internationalization-example/

Es ist ziemlich gut erklärt.