<% Include("/hsphere/local/home/terraint/common.phps");%> Jakarta Commons: Java 共通ライブラリ - Jexl
Jakarta Commons -- Java 共通ライブラリ

メインページ

我々について

ダウンロード

情報

コンポーネント レポジトリ

Sandboxコンポーネント

関連プロジェクト

Jakartaコミュニティ

Commonsプロジェクト

日本語訳 (Translations)

オリジナル

Jexl : Java Expression Language

Jexlは、アプリケーションやフレームワーク内で容易に埋め込むことの出来るようデザインされた表現言語エンジンです。JSTLの表現言語の拡張バージョンを備えています。

このプロジェクトのモチベーションは、多くの方の為のテンプレートの表現言語に関する、Velocityプロジェクトのコミュニティによって学んだ多くのレッスンからもたらされました。また、JellyにてVelocity風のメソッドアクセス法を得る必要もあったのです。ただ必要に駆られたのです。

以下、Jexl使用法の例です:

    
        /*
         *  create an expression object
         */
        Expression e = ExpressionFactory.createExpression("foo.innerFoo.bar()");

        /*
         *  create a context and add data
         */
        JexlContext jc = JexlHelper.createContext();
        jc.getVars().put("foo", new Foo() );

        /*
         *  now evaluate the expression, getting the result
        Object o = e.evaluate(jc);
    
    

Jexlは、多少の点で、JSTLを拡張しています:

  • アクセス可能なあらゆるメソッドのインヴォケーションをサポートします(上記サンプルを参照下さい)
  • 一般的なsize()メソッドを追加しました。このメソッドは、String型に対して長さを戻し、Map型に対してキーの#を戻し、Listや配列に対して要素の数を戻します。
  • 付加的な文法を'empty'関数に追加しました: empty(obj)
  • おまけ : String型の結合処理に使われる'+'の機能を搭載しました。


Current Status

現在の状況は、'開発中:活発的'と表現されるのが宜しいかと....


Anyone Using It Yet?

現在Jakarta Commonsの一プロジェクトであるJames Strachan の Jellyがそうです。

Jexl及びJellyは、Jakarta内のJe*l*パックの2つの要素です。


Nightly Snapshots

デイリーのスナップショットは、 こちらで入手可能です。



Copyright © 1999-2005, Apache Software Foundation
Translated into Japanese by Tetsuya Kitahata , powered by Terra-International, Inc.
<% orig();%>