2016-04-09 5 views
0

Vielen Dank im Voraus.Freemarker Dynamische lokalisierte Zeichenfolge

Ich habe einige Statuscodes aus der Datenbank. 200 Beispiel, 205, usw.

In meiner Sprachdatei habe ich Strings wie -

VA_PRODCODE_200=Valid Product 
VA_PRODCODE_205=Limited Edition Product 

Von FTL, ich, wie unten die Saiten übersetzen versuchen.

${"VA_PRODCODE_" + productstatus.productStatusCode} 

wo productstatus.productStatusCode wird aus der Datenbank kommen und haben Werte wie 200, 205

Aber das Ergebnis ist immer kommt wie:

VA_PRODCODE_200 
VA_PRODCODE_205 

Kann mir jemand sagen, wie man diese Übersetzung tun .

Dank Dibs

+0

Hängt davon ab ... Wie drucken Sie Dinge aus Ihrer Sprachdatei, wenn der Schlüssel nicht dynamisch ist? – ddekany

+0

Ich übergebe die Werte an das ftl unter Verwendung des Schlüsselwertpaares. Dann auf dem ftl, drucke ich es mit $ {PRINT_THIS} Dies druckt den entsprechenden Wert aus der Sprachdatei. –

Antwort

0

die Variable im Datenmodell, wie dies die Annahme:

${.data['VA_PRODCODE_' + productstatus.productStatusCode?c]} 

?c gibt es lokalisierte Zahlenformatierung, zu verhindern, die Dinge wie das Hinzufügen von Tausendertrennzeichen tun kann. (Sie könnten auch .vars verwenden, was sowohl für lokale Variablen als auch für Datenmodellvariablen funktioniert.)

+0

Das war eine große Hilfe. Dieser Code hat funktioniert - '$ {. Vars ['VA_PRODCODE_' + productstatus.productStatusCode]}' Ich konnte '? C' nicht verwenden, da dies der Wert string und nicht integer ist. –