以速度转义美元符号
escaping dollar sign in velocity
我在velocity模板文件中有这样一个字符串:
<a id="superurl_${getItemid()}" href="http://example.com?$param1=345&$param2=abf¶m3=${par3}">link1</a>
呈现为
<a id="superurl_1288" href="http://example.com?$param1=345&$param2=abf¶m3=${par3}">link1</a>
但是,它应该呈现为
<a id="superurl_1288" href="http://example.com?$param1=345&$param2=abf¶m3=zzz">link1</a>
如何修改源以使 ${par3}
由其值呈现而不被视为字符串的一部分?
您可以使用 #[[ .. ]]#
在 Velocity 中转义字符串。我认为在您的情况下,前面的 $ 可能与它们后面的内容相冲突。尝试以下操作:
<a id="superurl_${getItemid()}" href="#[[http://example.com$param1=345&$param2=abf¶m3=]]#${par3}">link1</a>
此外,请确保您实际传递了一个名为 "par3" 的变量。 (这更有可能是解析不出来的原因?)
您可以像这样为美元符号设置一个变量
#set ( $d = "$")
<a id="superurl_${d}{getItemid()}" href="http://example.com?$param1=345&$param2=abf¶m3=${par3}">link1</a>
我在velocity模板文件中有这样一个字符串:
<a id="superurl_${getItemid()}" href="http://example.com?$param1=345&$param2=abf¶m3=${par3}">link1</a>
呈现为
<a id="superurl_1288" href="http://example.com?$param1=345&$param2=abf¶m3=${par3}">link1</a>
但是,它应该呈现为
<a id="superurl_1288" href="http://example.com?$param1=345&$param2=abf¶m3=zzz">link1</a>
如何修改源以使 ${par3}
由其值呈现而不被视为字符串的一部分?
您可以使用 #[[ .. ]]#
在 Velocity 中转义字符串。我认为在您的情况下,前面的 $ 可能与它们后面的内容相冲突。尝试以下操作:
<a id="superurl_${getItemid()}" href="#[[http://example.com$param1=345&$param2=abf¶m3=]]#${par3}">link1</a>
此外,请确保您实际传递了一个名为 "par3" 的变量。 (这更有可能是解析不出来的原因?)
您可以像这样为美元符号设置一个变量
#set ( $d = "$")
<a id="superurl_${d}{getItemid()}" href="http://example.com?$param1=345&$param2=abf¶m3=${par3}">link1</a>