[Seasar-user:2183] Maya0.9.6リリース
Masataka Kurihara
kurihara
2005年 6月 14日 (火) 20:46:19 JST
■ [maya]-Maya0.9.6リリース
http://maya.oscj.net/servlets/ProjectDocumentList?folderID=10&expandFolder=10&folderID=10
今回から、OSCJ.netにてリリースしています。
-----------------------------------------------------------
変更点 0.9.5 -> 0.9.6
・XPathインジェクション機能が追加されました。
<html>
<body>
<div class="box">テンプレート上のダミー文字列</div>
</body>
</html>
上記のような特別にMaya用途としていないHTMLに対して、
<?xml version="1.0"?>
<m:maya xmlns:m="http://www.seasar.org/maya"
xmlns:c="http://java.sun.com/jstl/core_rt">
<c:out c:value="こんにちは" m:rendered="true"
m:xpath="//div[@class='box']"/>
</m:maya>
このように、m:xpath属性によりインジェクション内容を指定することができま
す。
・OGNLライブラリのバージョンを、OGNL3.0-pre2よりOGNL2.6.7に変更
しました。これは、他のOGNL利用フレームワーク(Seasar2やWebWork2など)
と併用する際の便利を考えての変更です。
・標準のMayaServletはimplパッケージに移動しました
・commons-poolライブラリに依存しないようになりました。
・.mayaファイルにおいて、ノードの閉じタグやネスト構造の書き方によって
挙動が変わっていた問題を解決しました。
・URLに対応して、HTMLテンプレートファイルを探す方法は以下の通りに
しました。この機構は全部org.seasar.maya.impl.source.*に実装されて
います。また、Jarのエントリ検索結果はキャッシュするようにしました。
/foo/baa/index.htmlをリクエストされたとき、以下の順に探します。
- [コンテキストルート]/WEB-INF/foo/baa/index.html
- [コンテキストルート]/foo/baa/index.html
- foo.baaパッケージのリソース、index.html
- クラスパス中のJarの、/META-INF/foo/baa/index.html
・MLD仕様を導入しました。テンプレートプロセッサのインジェクションに
おいて、設定ノードからの変換方法を記述した、設定XMLを用います。
JSPのTLDに類似します。この仕様変更に伴い、テンプレートプロセッサ
リゾルバが廃止されました。
・ServiceProviderの変更。/WEB-INF/maya.conf ファイルによって、
ServiceProviderが初期化されるように仕様変更しました。結果、
インジェクションリゾルバや式リゾルバなどのユーザーによるカスタマイズの
登録が、これまでのコードによるものではなく、maya.confのXML記述と
なりました。
・ダイナミックなタグ出力のため、テンプレートやMayaファイルに直接、
Elementプロセッサを記述できるようにしました(m:element をインジェクト
する)。また、属性はAttributeプロセッサ(m:attribute)によって動的な
追加が行えます。
・JSPカスタムタグライブラリも、MLD仕様下にてコントロールされるように
なりました。
・テンプレート上のノードから、インジェクションした結果ノードに、名前空間
のマッピング情報(NodeNamespace)をコピーするインジェクションレゾルバ
(NamespacesSetter)をレゾルバチェーンのはじめに入れました。結果、
リゾルバAPIがシンプルになっています。
・その他、APIおよび実装について、多くの変更が生じました。
Seasar-user メーリングリストの案内