我最近在一些Velocity代码中遇到了这两个变量:
$!variable1
!$variable2
我对它们的相似性感到惊讶,所以我开始怀疑代码的正确性,并开始对找到两者之间的差异感兴趣。
速度是否可能允许这两个符号的任何顺序,或者它们是否具有不同的目的?你知道答案吗?
@Jr。这是我在进行VM研发时遵循的指南:http://velocity.apache.org/engine/1.7/user-guide.html
Velocity使用!$和$!不同事物的注释。如果你使用!$它将基本上与正常的“!”相同。运营商,但$!用作基本检查以查看变量是否为空,如果是,则将其打印为空字符串。如果你的变量是空的或null并且你不使用$!注释它将实际变量名称打印为字符串。
在我终于在people.apache.org找到答案之前,我用谷歌搜索并堆栈溢出了很多。
据说:
很容易将静默引用符号与布尔值非运算符混淆。使用not-Operator,你使用!$ {foo},而安静的引用符号是$!{foo}。是的,你最终会结束!$!{foo} ...
毕竟很容易让人感到羞耻。希望这有助于某人。