java velocity模板里使用#set赋值的问题!!!

官方的文档说#set不支持布尔型赋值,如

set($a=true)

但是我在判断中是可以使用$a进行的,如

if($a)

...

end

$a被set成true就会执行if里的内容,false就不执行

到底用#set给变量赋值boolean型到底规不规范?
我上面的用例赋值成功为boolean型的例子怎么解释?

阅读 7.6k
1 个回答

到底用#set给变量赋值boolean型到底规不规范?
目前是不规范的;
我上面的用例赋值成功为boolean型的例子怎么解释?
你这里if($a)实际的含义是判断$a这个变量是否存在,当然你先set过,所以是if判断的结果是true;

如果想达到你想要的效果,可以这么做:

#set($a="true")
#if($a="true")
...
#end
#set($a="false")
#if($a="false")
...
#end
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题