-commons-el

Mayaの式言語の処理は、ベータではcommons-elを利用した形で実装しますが、commons-elはJSP2.0の仕様であって、当然まだJSR245のUnified ELに対応したものではないんで、面倒なことになっています。MyFacesもかなりトリッキーなことをしてますが、さらに曲芸系。MyFacesはメソッドの扱いがcommons-el(つまりはJSP2.0)に無いために、「#」と「$」の取り扱いとMethodBindingの実現にトリックを用いてます。MayaはJSF1.1のVariableResolver/PropertyResolverの処理を、Unfied ELのELResolverによって行うので、式のパースだけcommons-elに任せて、木の評価は自分でやります。が、commons-elの木の構成物が勝手に(?)VariableResolverを用いたりするので、ちょっと細工してやらないといけません。それでも、式パースやってくれるので使ったほうが楽です。
いずれJSR245スペックのcommons-elが出るに違いないので、ざくっと置き換えるつもりです。余裕があったらcommons-el開発プロジェクトにもフィードバックすることにしましょう。