题
我有一个 Struts + Velocity 结构,例如 Person 类,其一个属性是 Car 对象(具有自己的 getter/setter 方法),并且使用 ModelDriven 和 getModel 结构映射到提交到 Action 的 Velocity 表单。
我如何在表单上放置一个按钮,如果汽车属性不为空或 car.id != 0,则显示“查看汽车”,或者如果汽车为空或 car.id = 0,则显示另一个按钮“选择汽车”。
我如何编码这个。我在模板文件中尝试了类似的操作:
#if($car != null)
#ssubmit("name=view" "value=View Car")
#else
#ssubmit("name=new" "value=Choose Car")
#end
但我不断收到有关 Null 值的错误 #如果 线。
我还在 Person 中创建了一个布尔方法 hasCar() 来尝试,但我无法访问它,我也不知道为什么。
而且 Velocity + Struts 教程很难找到或有好的信息。
谢谢
解决方案
您应该将 #if 行更改为:
#if($car)
其他提示
在即将发布的 Velocity 1.6 版本中,您将能够执行以下操作 #if( $car == $null )
没有错误消息。这将使您能够轻松区分何时 $car
为 null 以及何时为 false。现在要做到这一点需要 #if( $car && $car != false )
, ,这并不那么友好。
不隶属于 StackOverflow