读取Velocity模板中映射的模型对象

时间:2008-08-23 18:59:44

标签: java struts velocity

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

如果car属性不为null或car.id!= 0,则在显示“View Car”的表单上放置一个按钮,如果car为null或car.id = 0,则显示另一个按钮“Choose Car”。

我如何编码。我在模板文件中尝试了类似的东西:

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

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

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

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

由于

2 个答案:

答案 0 :(得分:6)

您应该将#if行更改为:

#if($car)

答案 1 :(得分:2)

在即将发布的Velocity 1.6版本中,您将能够#if( $car == $null )无错误消息。这将允许您在$car为空时和何时为空时轻松区分。要做到这一点,现在需要#if( $car && $car != false ),这不是那么友好。