-Maya0.9.4リリース

実に一ヶ月ぶりのリリースとなってしまいましたが、Mayaの最新版です。

変更点 0.9.3 -> 0.9.4

  • Removeマジックカスタムタグを廃止しました。Ifタグを利用ください。
  • 設定XMLにノード記述する際に、ネスト構造を許すようにしました。たとえば以下の例です。mayaIDを持つノードの下に、doBodyとc:outノードがネストしています。
<?xml version="1.0" encoding="Shift_JIS"?>
<maya xmlns:c="http://www.seasar.org/maya/jstl/core">
    <c:out mayaID="message" value="${ helloModel.greeting }">
        <doBody/>
        <c:out value="ごきげんいかが?"/>
    </c:out>
</maya>
  • 名前空間プレフィックス「m」をxmlns:m="***"と上書きしない限り、「http://www.seasar.org/maya」と記述が省略されても自動的に解決するようにしました。
  • ImplicitPage関連のプロセッサおよびレゾルバ群をstandardよりimplに移動しました。
  • OutProcessorにおいて、doStartProcess()でBodyTag.EVAL_BODY_BUFFEREDを返すべきところを、Tag.EVAL_BODY_INCLUDEを返していたというバグを修正しました。
  • MayaContextを廃止して、PageContextに一本化しました。
  • JSPカスタムタグのプーリング方法を変更し、release()を仕様どおりに実装していないカスタムタグも動作するように対応しました。
  • OGNLエンジンをプーリングしていたために発生していたスレッドセーフ性への障害を対応しました。
  • テンプレートのモデルをツリーウォークできるように、オリジナルの構造を保持するようにテンプレートビルダーの仕組みを実装しなおしました。ProcessorResolverで、このオリジナル構造を参照しつつ、プロセッサの解決を行うようにしています。
  • InjectionResolverが新規追加されました。このレゾルバは、テンプレートの構造をツリーウォークし、設定XMLへの照会とinject属性の処理などを行いつつ、プロセッサ解決前のプリプロセスを行う仕組みです。
  • 各レゾルバに、Servletフィルタに似たチェーン制御機能を追加しました。この機能追加により、モノシリックに実装されていたビルダの諸機能をレゾルバにアダプター化して出すことができました。
  • engineSettingをデフォルト設定XMLに書くのを改め、すべてサーブレットのInitパラメータに記述するように変更しました。