0

知られているように、freemarkersbeanwrapperはjavaのBeanIntrospectorを使用します。その結果、ラップされたブール値は、パブリックgetの「is」メソッドを持つことはできませんが、単純なgetメソッドである必要があります。

今、私はプロジェクトに取り組んでいます。突然、原始的なブール値がブール値にならなければならないことが明らかになりました...もちろん奇妙な状況ですが、私たちはここにいます。もちろん、すべてのフリーマーカーはもう機能しません。

ネット上のどこかに、BeanIntrospectorを使用しないfreemarker用に記述されたBeanWrapperがありますが、ブール値を許可する他の方法はメソッドゲッターですか?私が尋ねている理由は、私が自分で書くことを試みることができたが、プロジェクトがそれのための時間を許していないからです。私はしばらくグーグルをしていますが、何も思い付くことができません(主にグーグルはブール値とブール値を同じ単語としてとらえているようです...)

ない場合は...後輩の一人に変更させるつもりですすべてを取得する方法です...それはその男にとって楽しい仕事になるでしょう...

前もって感謝します

ケニー

4

1 に答える 1

1

ダウンロードできるソリューションを指摘することはできません。finetuneMethodAppearanceしかし、これはBeansWrapperでオーバーライドすることで実際に非常に簡単に実行できます。そこでは、任意のメソッドから偽のプロパティを作成できます。JavaDocsの関連部分を参照してください。

OTOH、おそらく最善の方法は、これらのメソッドをgetメソッドに変更することです。これは、FreeMarkerがJavaBeans仕様に準拠する唯一のコンポーネントではないためです。したがって、FreeMarkerでこれを修正しても、他の場所で同じ問題が発生する可能性があります。

于 2013-01-26T22:28:52.200 に答える