Как получить значение object.isXXX () в freemarker? - PullRequest
2 голосов
/ 08 декабря 2011

У меня есть класс POJO с методом boolean isActive().

Я хочу использовать его внутри freemarker, как этот ${task.active?string}, но я получаю

Expression task.active is undefined

Есть ли способ использоватьэтот метод или я должен добавить boolean getActive() к моему POJO?

1 Ответ

2 голосов
/ 08 декабря 2011

Если это свойство JavaBean (и оно похоже на одно), то оно должно быть доступно как task.active. В конце концов, FreeMarker просто использует стандартный API JavaBeans для запроса доступных свойств. Однако есть несколько вещей, которые могут вызвать проблемы ... Во-первых, Chaquotay упомянул, например, Boolean вместо boolean (спецификация JavaBeans говорит, что это не то же самое). Другой случай, когда task реализует интерфейс Map, и в этом случае, если для оболочки simpleMapWrapper установлено true, FreeMarker предоставляет только ключи карты.

...