JEXL 是 Java 编程语言中一种表达式语言引擎,可以用来校验数据等。那么 Java 具体是怎么使用JEXL这个引擎的?下面,我将通过 Java 实例代码为大家展示 Java 是如何用 JEXL 引擎实现动态表达式编译。
JEXL(Java Expression Language)介绍
JEXL – Apache Commons JEXL Overview
下面用一些实例来介绍JEXL的使用方法
实例
正则表达式匹配
首先写一个公共方法:
下面是使用JEXL调用的方法
代码中的expression变量就是可以动态编译的表达式,这里要注意表达式中出现的所有变量,都需要事先set进JexlContext中,否则会报错。这里有多种形式的错误:
①如果没有set”Util”,程序运行中会抛出异常。
org.apache.commons.jexl2.JexlException: TmpTest.RL@40![13,40]: 'ans = QeUtil.regMatch('[一-龥]{10,}', str);' attempting to call method on null
②如果没有set”str”,程序不会抛出异常,并输出null。如果你的regMatch方法中有判空处理,就会输出判空的结果。如果没有判空处理,在控制台的输出如下:
循环
JEXL支持两种循环方式:
和
下面是使用while的实例:
getset方法调用
上面的用例会在控制台先输出1,再输出2
以上就是关于 Java 使用 JEXL 引擎实现动态表达式的编译的全部内容,想要了解更多关于 Java JEXL 引擎的详细内容,可以搜素W3Cschool站内相关技术文章。
版权声明:
本文来源网络,所有图片文章版权属于原作者,如有侵权,联系删除。
本文网址:https://www.bianchenghao6.com/h6javajc/17302.html