VTL中的美元和感叹号(爆炸)符号

问题描述 投票:1回答:2

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

$!variable1
!$variable2

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

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

velocity dollar-sign vtl
2个回答
2
投票

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

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


0
投票

在我终于在people.apache.org找到答案之前,我用谷歌搜索并堆栈溢出了很多。

据说:

很容易将静默引用符号与布尔值非运算符混淆。使用not-Operator,你使用!$ {foo},而安静的引用符号是$!{foo}。是的,你最终会结束!$!{foo} ...

毕竟很容易让人感到羞耻。希望这有助于某人。

© www.soinside.com 2019 - 2024. All rights reserved.