我正在尝试让Velocity输出以下Javascript代码:
if ((whichOne+1) <= numCallouts ) {
whichOne = whichOne + 1; } else {
whichOne = 1;
}
每当我试图让Velocity打印一个&gt;或者&lt;,它表示为&amp; GT;或者&amp; LT;,这对我没有帮助,因为我试图让它产生Javascript。我试过了:
#set ( $gt = ">" )
但即使这样也最终成为&amp; GT;
提前致谢。
答案 0 :(得分:1)
这不是默认行为,我能想到为什么会发生这种情况的唯一原因是,如果您在ReferenceInsertionEventHandler
或Velocity中使用EscapeHtmlReference
配置了事件velocity.config
初始化代码。
答案 1 :(得分:1)
我对Velocity遇到了同样的问题 - 然而,问题是我使用Velocity作为第三方嵌入式语言,并且没有权限更改Velocity设置。
不幸的是,我能找到的唯一解决方案是重写代码而不使用大于/小于显式,这无疑是可怕的,但这都是为了让它工作......
以下是条件的示例变通方法,您要检查一个数字是否大于另一个数字:
if (n1 > n2) //Doesn't work because velocity turns this into if (n1 > n2)
if (n1 != n2)
{
diff = n1 - n2;
abs = abs(n1 - n2);
if (diff / abs == 1) //Greater than
else //if == -1 then less than
}
else //Equal
答案 2 :(得分:0)
也许您可以使用此处所述的备用符号:
因此请尝试使用if (n1 gt n2)
。