我有以下段来从速度模板文件中渲染。
xyz $$foo
美元符号需要从VTL解析器中转义。在模板文件中,我将其表示为
xyz \$\$foo
我希望
xyz $$foo
但我得到
xyz \$foo
我做错了什么?
答案 0 :(得分:40)
其中一种方法是使用固定的字符串变量,即为$符号设置变量然后使用它。
#set ( $d = "$")
xyz ${d}${d}foo
它给出了预期的输出
xyz $$foo
答案 1 :(得分:2)
您可能还想查看EscapeTool的速度。
一旦将其包含在上下文中(例如,名称为“esc”),您就可以使用$ {esc.d}来获取美元符号。您提到的方法对于这种特殊情况更容易。
我认为值得一提的是,如果您的模板生成Java / javascript / html等,它提供了其他一些方便的方法来转义字符串。
答案 2 :(得分:-1)
使用Velocity' lodash也可能会有所帮助。
它有一个内置的货币格式化程序:
$myNumber -> 13.55
$number.format($myNumber) -> 13.6
$number.currency($myNumber) -> $13.55
$number.integer($myNumber) -> 13