Frage

Ich bin auf der Suche nach einem netten Template-Engine oder kurzes Stück Code Ant-ähnliche Variablen in einem String in Java zu erweitern. Beispiel:

String result = expand ("${firstName} ${familyName}", map);

Es sollte zumindest Unterstützung java.util.Map sondern etwas, das Bohnen oder rekursive Abfragen oder Abfragen in einer Liste von Karten verarbeiten kann / Objekte auch willkommen wäre.

Verbesserungsvorschläge?

[EDIT] In Antwort auf TofuBeer: Keine Verschachtelung, nur gültige Java Bezeichner innerhalb des {}. Alles, was außerhalb von ${} sollte wörtlich kopiert werden. $$ sollte sich $``. If that's not possible ${dollar} zu einem einzigen $ erweitern sollte (so können Sie 15.00 $ ausdrücken).

War es hilfreich?

Lösung

StrSubstitutor von Commons Lang macht ziemlich genau, was Sie für

Andere Tipps

String um expand zu implementieren:

void expand(String template, Map<String,String> map) {
    StringTemplate st = new StringTemplate(template);

    for (Map.Entry<String, String> attribute : map) {
       st.setAttribute(attribute.getKey(), attribute.getValue());
    }

    return st.toString();
} 

Hier finden Sie aktuelle Freemarker och Geschwindigkeit, beide sind Template-Engines

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top