比较字符串与速度

mor*_*hai 8 velocity string-comparison

考虑速度模板中的以下代码段:

#set($brandName = $player.brand.name)
#set($brandNameExample = "NameExample")

#if($brandName == $brandNameExample)
    11111
#else
    22222
#end
Run Code Online (Sandbox Code Playgroud)

我总是得到22222。当然,player.brand.name = "NameExample"

任何人都可以解释我为什么以及如何让它工作吗?

Dmy*_*kyi 6

我建议测试一下

#set($brandName = "NameExample")
#set($brandNameExample = "NameExample")
#if($brandName == $brandNameExample)
11111
#else
22222
#end
Run Code Online (Sandbox Code Playgroud)

如果它有效,那么我会尝试输出 $player, $player.brand, $player.brand.name 您需要确保 $player.brand.name - 保持正确的值。- 区分大小写?- 确定“$player.brand.name”拼写正确吗?

我认为你只是在对象 $player 中有问题


mor*_*hai 1

好吧,我找到了解决方案:我调用了两次速度:第一次没有玩家对象,第二次有它。因此,在第一次调用时,无法评估有关玩家的所有指令并返回 null。感谢大家的帮助