众所周知,freemarkers beanwrapper使用java的BeanIntrospector。这有一个结果,包装布尔值不能有一个“是”的方法,因为它的公共获取,但只需要一个普通的get方法。
现在我正在开展一个突然变得明显原始布尔值必须变成布尔的项目...奇怪的情况但我们在这里。当然,所有的自由标记都不再适用了。
我想知道是否有人知道,网上有一些BeanWrapper为freemarker编写,不使用BeanIntrospector但是其他一些方式允许布尔人拥有的是方法getter?我问的原因是因为我可以尝试自己编写,但项目只是不允许时间。我已经谷歌搜索了一段时间,但无法想出任何东西(主要是因为谷歌似乎采用布尔和布尔作为同一个词...)
如果没有......我只是让其中一个小辈改变所有的方法来获得...那对那个人来说这将是一个有趣的任务......
提前致谢
肯尼
答案 0 :(得分:1)
我无法指出您可以下载的任何解决方案。但是通过覆盖BeansWrapper中的finetuneMethodAppearance
实际上很容易做到这一点。在那里你可以用任何方法制作假物业。请参阅related part of the JavaDocs。
OTOH,可能最好的做法是将这些方法更改为get
方法,因为FreeMarker不是唯一符合JavaBeans规范的组件。因此,即使你在FreeMarker中解决了这个问题,你仍然可以在其他地方遇到同样的问题。