2011-12-08 30 views
2

我有一個POJO類與boolean isActive()方法。如何獲得freemarker中的object.isXXX()值?

我想用這裏面的freemarker這樣${task.active?string},但我得到

 
Expression task.active is undefined 

有沒有辦法使用此方法還是我要補充boolean getActive()我的POJO?

+0

你確定使用原始'boolean'類型嗎?對我來說,'boolean isActive()'可以正常工作,但盒裝變體'布爾isActive()'會產生上面提到的錯誤。 – Chaquotay

+0

原來,這是一種類型:)仍然,很高興知道'布爾'被視爲不同於'布爾' –

回答

2

如果它是JavaBean屬性(它看起來像一個),那麼它應該可用作爲task.active。畢竟,FreeMarker只是使用標準的JavaBeans API來查詢哪些屬性可用。有幾件事可能會導致問題,但是......一種是Chaquotay提到的,即Boolean而不是boolean(JavaBeans規範說它不一樣)。另一種情況是當task實現Map接口時,在這種情況下,如果包裝的simpleMapWrapper設置爲true,則FreeMarker只會公開地圖密鑰。