JEXL初探--Java Expression Language

一、介绍

        Java表达式语言--Java Expression Language(JEXL),这是Apache开源的一个jar包,官网地址,旨在促进在用Java编写的应用程序和框架中,实现动态和脚本功能,JEXL基于JSTL表达式语言的一些扩展实现了表达式语言,支持shell脚本或ECMAScript(js)中的大多数构造.

该库提供了一个占用空间小的API - 核心功能适合3个类和10个方法 

这是一种简单的表达式语言,最初受Apache Velocity 以及 JavaServer Pages Standard Tag Library version 1.1(JSTL)和JavaServer Pages version 2.0(JSP)中定义的表达式语言的启发,语法现在接近ECMAScript和“shell-script”的混合。

必须注意的是,JEXL 不是 JSTL 1.1(JSR-052)或JSP 2.0(JSR-152)中定义的EL的兼容实现

二、简单示例

1.引入jar包,以maven为例

<dependency>
	 <groupId>org.apache.commons</groupId>
	 <artifactId>commons-jexl3</artifactId>
	 <version>3.1</version>
</dependency>

2.简单java示例

    //创建或者取回一个引擎
    JexlEngine jexl = new JexlBuilder().create();
    
    //创建一个表达式
    String jexlExp ="foo.innerFoo.bar()";
    JexlExpression e = jexl.createExpression(jexlExp);
    
    //创建上下文并添加数据
    JexlContext jc = new MapContext();
    jc.set("foo",new Foo());
    
    //现在评估表达式,得到结果,结果为最后一个表达式的运算值
    Object o = e.evaluate(jc);

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

椰汁菠萝

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值