Commons JEXL - 表达式语言引擎


Apache
跨平台
Java

软件简介

Java Expression Language (JEXL) 是一个表达式语言引擎,可以用来在应用或者框架中使用。JEXL 受Velocity 和 JSP
标签库 1.1 (JSTL) 的影响而产生的。需要注意的是, JEXL 并不时 JSTL 中的表达式语言的实现。

Java Expression Language (JEXL) is an expression language engine which can be
embedded in applications and frameworks. JEXL is inspired by Jakarta Velocity
and the Expression Language defined in the JavaServer Pages Standard Tag
Library version 1.1 (JSTL) and JavaServer Pages version 2.0 (JSP). While
inspired by JSTL EL, it must be noted that JEXL is not a compatible
implementation of EL as defined in JSTL 1.1 (JSR-052) or JSP 2.0 (JSR-152).
For a compatible implementation of these specifications, see the Commons
EL
project.

示例代码:

// Create an expression object  
String jexlExp = "foo.innerFoo.bar()";  
Expression e = ExpressionFactory.createExpression( jexlExp );

// 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);