java-mvel使用记录

MVEL为 MVFLEX Expression Language(MVFLEX表达式语言)的缩写,它是一种动态/静态的可嵌入的表达式语言和为Java平台提供Runtime(运行时)的语言。最初是作为一个应用程序框架实用程序的语言开始,该项目现已发展完全独立。MVEL通常用于执行用户(程序员)通过配置XML文件或注释等定义的基本逻辑。它也可以用来解析简单的JavaBean表达式。Runtime(运行时)允许MVEL表达式通过解释执行或者预编译生成字节码后执行。

MVEL是一个基于java语法的表达式,为JAVA语言提供便捷灵活的动态性。MVEL吸收了大量的java语法,但是作为一个表达式语言,还是与java有很多不同之处,比如MVEL像正则表达式一样,有直接支持集合、数组、字符串的操作符。

     除了表达式语言以外,MVEL还提供了用来配置和构造字符串的模板语言。

     MVEL表达式主要有以下部分内容:

     属性表达式
     布尔表达式
     方法调用
     变量赋值
     函数定义

一 :引入pom

        <dependency>
            <groupId>org.mvel</groupId>
            <artifactId>mvel2</artifactId>
            <version>2.4.8.Final</version>
        </dependency>

二:简单使用

    public static void main(String[] args) {
        String testStr="if(user.username.equals('fsk')){user.address='beijing';}; return user.toString();";
        User user=new User();
        user.setUsername("fsk");
        Map<String,User> map=new HashMap<>();
        map.put("user",user);
        System.out.println(MVEL.eval(testStr,map));
        System.err.println(user.getAddress());
        //输出为
//        User{id=1111111111null, username=22222222'fsk', address=33333333333'beijing'}
//        beijing
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值