Ответ 1
Один из способов - использовать фиксированную строковую переменную i.e, устанавливая переменную для знака $, а затем используя ее.
#set ( $d = "$")
xyz ${d}${d}foo
Он дает ожидаемый результат
xyz $$foo
У меня есть следующий сегмент для визуализации из файла шаблона скорости.
xyz $$foo
Знаки доллара необходимо избегать из парсера VTL. И в файле шаблона я представлял его как
xyz \$\$foo
Я ожидаю
xyz $$foo
но я получаю
xyz \$foo
Что я делаю неправильно?
Один из способов - использовать фиксированную строковую переменную i.e, устанавливая переменную для знака $, а затем используя ее.
#set ( $d = "$")
xyz ${d}${d}foo
Он дает ожидаемый результат
xyz $$foo
Вы также можете проверить скорость EscapeTool.
Как только вы включили его в контекст (например, под названием "esc" ), вы можете использовать ${esc.d}, чтобы получить знак доллара. Метод, который вы упомянули, проще для этого конкретного случая.
Я думал, что стоит упомянуть, потому что он предоставляет несколько других удобных методов, чтобы избежать строк, подходящих, если ваши шаблоны генерируют Java/javascript/html и т.д.
Также может быть полезно использовать Velocity NumberTool.
Он имеет встроенный форматировщик валют:
$myNumber -> 13.55
$number.format($myNumber) -> 13.6
$number.currency($myNumber) -> $13.55
$number.integer($myNumber) -> 13