2011-06-22 53 views

回答

1

如果你需要定義函數,那麼你應該使用JexlEngine#setFunctions(Map namespace2FunctorMap)。見Javadoc(目前下跌;-()

如果你需要方法,那麼你應該添加到您的JexlContext有你要調用的方法的對象。請參閱「調用方法」中this page

下如果我能正確記住,Jexl使用反射來調用方法

+0

Neat。因此,您可以定義頂級函數,就像Java中的靜態導入。認爲我試圖看看是否可以在JEXL中編寫函數代碼,而不是調用用Java編寫的函數或方法。 –

+0

我不認爲Jexl目前允許d在腳本中定義新的功能。 您可以通過預提取文件以提取函數代碼來欺騙它,將其包裝到Java對象中並將它們註冊到引擎。 –

相關問題