2013-07-09 16 views
5

Ist es möglich, mehrere Werte in einer FreeMarker-Vorlage zu ersetzen? Zum Beispiel, wenn ich „a“ und „b“ mit „c“ ersetzt werden soll, ich habe dies zu tun:FreeMarker? Mehrere Werte ersetzen

${event.EventTitle?replace('a','c')?replace('b','c')} 

aber ich möchte lieber etwas tun:

${event.EventTitle?replace("'a','b'",'c')} 

Jede Chance, FreeMarker hat diese Fähigkeit?

Ich versuche letztlich alle Sonderzeichen zu ersetzen ($., @, &, usw.) mit Bindestrichen, so fühlen sich frei, einen einfacheren Weg vorzuschlagen, das zu tun.

+0

Ich kam zu dieser Frage. Wenn Sie die Elemente in einer Liste ersetzen möchten, können Sie 'replace' mit' list' zusammen verwenden. –

+0

Verwenden einer Liste für einen Ersatz? wird es funktionieren! – Sam

Antwort

11

Sie können einen regulären Ausdruck für diesen Einsatz:

${event.EnventTitle?replace('a|b', 'c', 'r')} 

Notiere die 'r' am Ende.

+0

''r'' steht für regulären Ausdruck – Ram