2011-06-22 5 views
3

JEXLスクリプトはJEXL式と同じではありません。JEXLスクリプトで関数を定義できますか?

私はソースコード内の関数への参照を参照していますが、そのドキュメントはありません。まだ実装されていない可能性がありますか?

JSR-223インターフェイスがあります。

+0

私は本当に知りたいですね。良い質問! – Bohemian

答えて

1

関数を定義する必要がある場合は、JexlEngine#setFunctions(Map namespace2FunctorMap)を使用する必要があります。あなたが方法が必要な場合は、あなたが呼び出したいメソッドを持つあなたのJexlContextにオブジェクトを追加する必要がありJavadoc(現在ダウン;-()

を参照してください。this pageで「メソッドを呼び出す」を参照してください。

に下にあなたが正しく覚えていれば、Jexlはメソッドを呼び出すためにリフレクションを使用します。

+0

ひどく、トップレベルの関数を定義することができます。私がJEXLに関数コードを書くことができるかどうかは、Javaで書かれた関数やメソッドを呼び出すだけではないと思っていると思います。 –

+0

私はJexlが現在dスクリプト内に新しい機能を追加する。 ファイルをpreprossessingして、関数コードを抽出し、Javaオブジェクトにラップしてエンジンに登録することで、それを騙すことができます。 –

関連する問題