Проверьте, пуста ли карта в Apache Velocity

В моем приложении java/spring у меня есть шаблон скорости, в котором я создаю карту, которая будет содержать значения, также вставленные в шаблон:

#set ($myMap = {})

Что я хочу сделать, так это проверить if/else, пуста ли карта. Кажется, это не работает для меня. Я пробовал:

#if ($myMap.empty)
...
#if ($myMap.size == 0)

Ни один из них не работает. Как правильно проверить, пуста ли карта по скорости. Я пробовал искать документацию и SO, но не могу найти пример.


person John Farrelly    schedule 04.01.2013    source источник


Ответы (2)


isEmpty и size — это методы, поэтому их следует использовать следующим образом:

#if ($myMap.isEmpty())
...
#if ($myMap.size() == 0)
person GOTO 0    schedule 04.01.2013
comment
Метод должен быть isEmpty() - но как только я использовал их как методы, они сработали. Я ожидал, что использование их в качестве свойств вызовет для них метод JavaBeans по умолчанию. - person John Farrelly; 04.01.2013
comment
@JohnFarrelly Ты прав! Я исправил ответ с правильным именем метода. Спасибо. - person GOTO 0; 04.01.2013

Я добавил .getRows() перед .isEmpty(), чтобы заставить его работать:

#if($!rows.getRows().isEmpty() )
person abahet    schedule 24.11.2015