0

众所周知,freemarkers beanwrapper 使用 java 的 BeanIntrospector。这导致包装的布尔值不能有一个“is”方法来获取它的公共获取,而只能是一个普通的获取方法。

现在我正在做一个项目,突然间它变得很明显,原始布尔值必须变成布尔值......当然情况很奇怪,但我们在这里。当然,所有的freemarkers都不再起作用了。

我想知道是否有人知道,网络上有一些为 freemarker 编写的 BeanWrapper 不使用 BeanIntrospector 但其他一些允许布尔值的方法是方法 getters ?我问的原因是因为我可以尝试自己编写,但该项目不允许有时间。我已经用谷歌搜索了一段时间,但什么都想不出来(主要是因为谷歌似乎把布尔值和布尔值当作同一个词......)

如果没有的话……我就让一个小辈改变所有获得方法……这对那个人来说会是一个有趣的任务……

提前致谢

肯尼

4

1 回答 1

1

我无法指出您可以下载的任何解决方案。但这实际上很容易通过finetuneMethodAppearance在 BeansWrapper 中进行覆盖来实现。在那里,您可以使用任何方法制作假属性。请参阅JavaDocs 的相关部分

OTOH,最好的办法可能是将这些方法更改为get方法,因为 FreeMarker 不是唯一遵守 JavaBeans 规范的组件。所以,即使你在 FreeMarker 中解决了这个问题,你仍然可以在其他地方遇到同样的问题。

于 2013-01-26T22:28:52.200 回答