读取速度模板中映射的模型对象

时间:2020-03-05 18:42:27  来源:igfitidea点击:

我有一个Struts + Velocity结构,例如Person类,其一个属性是Car对象(具有自己的getter / setter方法),并使用ModelDriven和getModel结构将其映射到提交给Action的Velocity表单。

如果car属性不为null或者car.id!= 0,则在显示"查看汽车"的表单上放置一个按钮,如果car为null或者car.id = 0,则显示另一个按钮"选择汽车"。

我该如何编码。我在模板文件中尝试了类似的方法:

#if($car != null)
  #ssubmit("name=view" "value=View Car")
#else
  #ssubmit("name=new" "value=Choose Car")
#end

但是我一直在#if行中收到有关Null值的错误。

我还在Person中创建了一个布尔方法hasCar()尝试,但是我无法访问它,也不知道为什么。

而且Velocity + Struts教程很难找到或者有很好的信息。

谢谢

解决方案

回答

我们应该将#if行更改为:

#if($car)

回答

在即将发布的Velocity 1.6发行版中,我们将能够执行#if($ car == $ null)而不会出现错误消息。这将使我们可以轻松地区分$ car为空和何时为假。现在要做到这一点,需要#if($ car && $ car!= false),它并不那么友好。