2013-01-22 60 views
0

因爲它是已知的freemarkers beanwrapper使用java的BeanIntrospector。這有一個結果,即包裝的布爾值不能有一個「is」方法,因爲它是public獲取的,但必須是一個普通的get方法。Freemarker:布爾與布爾值獲取方法

現在我正在研究一個突然變得明顯的原始布爾變成布爾的項目......奇怪的情況,但我們在這裏。當然,所有的自由標記都不再工作了。

我想知道是否有人知道,有一些網絡上的某些BeanWrapper爲Freemarker編寫,不使用BeanIntrospector,但有一些其他方式允許布爾人有方法獲得者?我想問的原因是因爲我可以嘗試寫我自己的,但是這個項目並沒有足夠的時間。我一直在谷歌搜索一段時間,但不能拿出任何東西(主要是因爲谷歌似乎採取布爾和布爾作爲相同的單詞...)

如果沒有任何...我只是打算讓晚輩的一個改變一切的方法來獲取......這就是要成爲那傢伙一個有趣的任務......

在此先感謝

肯尼

回答

1

我不能指向任何你可以下載的解決方案。但是,通過在BeansWrapper中重寫finetuneMethodAppearance實際上很容易。你可以用任何方法制造假貨。請參閱related part of the JavaDocs

OTOH,可能最好的辦法是將這些方法更改爲get方法,因爲FreeMarker不是遵守JavaBeans規範的唯一組件。所以,即使你在FreeMarker中修復了這個問題,你仍然可以在其他地方遇到同樣的問題。

+0

我們確實爲了設置所有的東西來獲取方法溶劑,正是因爲你提到的原因。可能會有其他技術遵守規範。我知道一個事實,我們將來會使用碧玉,我只是不想想我們會遇到的混亂,如果碧玉無法讀取是包裹布爾值的方法 – kenny