3

我最近在一些 Velocity 代码中遇到了这两个变量:

$!variable1
!$variable2

我对它们的相似性感到惊讶,所以我开始怀疑代码的正确性,并对找出两者之间的区别感兴趣。

速度是否可能允许这两个符号的任何顺序,或者它们有不同的目的?你知道答案吗?

4

2 回答 2

7

@JR。这是我在进行 VM 研发时遵循的指南:http: //velocity.apache.org/engine/1.7/user-guide.html

Velocity 使用 !$ 和 $! 不同事物的注释。如果你使用 !$ 它基本上和普通的“!”是一样的。运算符,但 $! 用作基本检查以查看变量是否为空,如果是,则将其打印为空字符串。如果您的变量为空或 null 并且您不使用 $! 注释它会将实际变量名称打印为字符串。

于 2018-09-04T10:02:29.120 回答
0

在我最终在people.apache.org找到答案之前,我搜索了很多信息并使用了 stackoverflow 。

据此:

很容易将安静的引用符号与布尔非运算符混淆。使用非运算符,您使用 !${foo},而安静的引用符号是 $!{foo}。是的,你有时会得到 !$!{foo}...

毕竟很容易,很遗憾它没有立即让我感到震惊。希望这可以帮助某人。

于 2018-08-31T08:56:38.010 回答