Java 逃逸美元登录速度

Java 逃逸美元登录速度,java,string,parameters,velocity,Java,String,Parameters,Velocity,我在velocity模板文件中有这样一个字符串: <a id="superurl_${getItemid()}" href="http://example.com?$param1=345&$param2=abf&param3=${par3}">link1</a> 这就意味着 <a id="superurl_1288" href="http://example.com?$param1=345&$param2=abf&param3=

我在velocity模板文件中有这样一个字符串:

<a id="superurl_${getItemid()}" href="http://example.com?$param1=345&$param2=abf&param3=${par3}">link1</a>

这就意味着

<a id="superurl_1288" href="http://example.com?$param1=345&$param2=abf&param3=${par3}">link1</a>

但是,应将其呈现为

<a id="superurl_1288" href="http://example.com?$param1=345&$param2=abf&param3=zzz">link1</a>

如何修改源代码,使
${par3}
按其值呈现,而不被视为字符串的一部分?

您可以使用
#[[…]]#
在Velocity中转义字符串。我认为在你的情况下,前面的美元可能与后面的美元相冲突。请尝试以下操作:

<a id="superurl_${getItemid()}" href="#[[http://example.com$param1=345&$param2=abf&param3=]]#${par3}">link1</a>


另外,确保您实际传递了一个名为“par3”的变量。(这很可能是它没有被解析的原因?

您可以像这样为美元符号设置一个变量

#set ( $d = "$")
<a id="superurl_${d}{getItemid()}" href="http://example.com?$param1=345&$param2=abf&param3=${par3}">link1</a>
#set($d=“$”)

@Bathsheba抱歉,已尝试\$和\$和$$。不起作用。