Чтение объектов модели, отображенных в шаблонах Velocity
Вопрос
У меня есть структура Struts + Velocity, как, например, класс Person, единственным свойством которого является объект Car (со своими собственными методами получения / установки), и он сопоставляется с формой Velocity, которая подчиняется действию, используя ModelDriven и структуру getModel.
I что добавить в форму кнопку, которая показывает "Просмотреть автомобиль", если свойство 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
Но я продолжаю получать сообщение об ошибке о нулевом значении в #если линия.
Я также лично создал логический метод hasCar(), чтобы попробовать, но я не могу получить к нему доступ и не знаю почему.
А учебные пособия Velocity + Struts трудно найти или содержать хорошую информацию.
Спасибо
Решение
Вам следует изменить строку #if на:
#if($car)
Другие советы
В предстоящем выпуске Velocity 1.6 вы сможете сделать #if( $car == $null )
без сообщений об ошибках.Это позволит вам легко различать, когда $car
имеет значение null и когда оно равно false.Для этого сейчас требуется #if( $car && $car != false )
, что просто не так дружелюбно.