2013-07-09 17 views
5

Czy można zastąpić wiele wartości w szablonie FreeMarker? Na przykład, jeśli chcę, aby zastąpić "a" i "b" z "C", muszę to zrobić:FreeMarker? Zastąp wiele wartości

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

ale wolałbym zrobić coś takiego:

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

Dowolna szansa FreeMarker ma taką możliwość?

Ostatecznie próbuję zastąpić wszystkie znaki specjalne ($,., @, &, itp.) Za pomocą kresek, więc sugeruj łatwiejszy sposób na to.

+0

Przyszłam na to pytanie. Gdy chcesz zamienić elementy na liście, możesz użyć 'replace' razem z' list'. –

+0

Używanie listy do zamiany? czy to będzie działało! – Sam

Odpowiedz

11

Można użyć wyrażenia regularnego do tego:

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

Zanotuj 'r' na końcu.

+0

'' r'' oznacza wyrażenie regularne – Ram