引言
JEXL(Java Expression Language)
"${“和”}"之间的内容将被视为JEXL表达式
Example First
//
Map<String, Object> beans = new HashMap<String, Object>();
ValueObject beanName = new ValueObject();
beanName.setProperty("Hello, World!");
beans.put("beanName", beanName);
// 模板语言
${beanName.property}
// 输出
Hello, World!
Example Senond
JEXL支持丰富的表达式语言,包括数组访问,列表访问,映射访问,数学运算符,比较运算符,显示方法调用等
// 模板
${n}^2 is ${n*n}
// 输出
5^2 is 25
// 模板
${country.state.county.city.name},${country.state.code}
// 输出
Los Angeles, CA
// 模板
${change * 100}%
// 输出
25.00%
★ Example Third
JETT扩展了JEXL,使在模板表达式中使用静态方法,需要使用全类名
// 模板
${java.lang.String.format('%s methods are allowed!', 'Static')}
// 输出
Static methods are allowed!