使用commons的jexl可实现将字符串变成可执行代码的功能

通用工具类:

/** *  * @author: Longjun * @Description: 使用commons的jexl可实现将字符串变成可执行代码的功能 * @date:2016年3月21日 下午1:45:13 */  public static Object convertToCode(String jexlExp,Map<String,Object> map){    JexlEngine jexl=new JexlEngine();    Expression e = jexl.createExpression(jexlExp);    JexlContext jc = new MapContext();    for(String key:map.keySet()){    jc.set(key, map.get(key));    }    if(null==e.evaluate(jc)){    return "";    }    return e.evaluate(jc);    }    

调用示例1:

public static void main(String[] args) {  try {  Map<String,Object> map=new HashMap<String,Object>();   map.put("money",2100);    String expression="money>=2000&&money<=4000";    Object code = convertToCode(expression,map);  } catch (Exception e) {  // TODO Auto-generated catch block  e.printStackTrace();  }  }  

code输出是true;

调用示例2:

public static void main(String[] args) {  try {  Map<String,Object> map=new HashMap<String,Object>();    map.put("testService",testService);    map.put("person",person);    String expression="testService.save(person)";    convertToCode(expression,map);    } catch (Exception e) {  // TODO Auto-generated catch block  e.printStackTrace();  }  }  

所需jar包:commons-jexl-2.0.jar

下载连接:http://download.csdn.net/detail/junlong750/9468052

maven配置:

<dependency>  <groupId>org.apache.commons</groupId>  <artifactId>commons-jexl</artifactId>  <version>2.0</version>
</dependency>  

转载:https://blog.csdn.net/junlong750/article/details/50945883

java将字符串转换成可执行代码相关推荐

  1. Java实现字符串转换成整数

    1 问题描述 输入一个由数字组成的字符串,请把它转换成整数并输出.例如,输入字符串"123",输出整数123. 请写出一个函数实现该功能,不能使用库函数. 2 解决方案 解答本问题 ...

  2. JAVA把字符串转换成整数

    剑指offer: 将一个字符串转换成一个整数(实现Integer.valueOf(string)的功能,但是string不符合数字要求时返回0),要求不能使用字符串转换整数的库函数. 数值为0或者字符 ...

  3. java把字符串转换成日期格式

    public static void main(String[] args) throws Exception{Date date = new SimpleDateFormat("yyyy- ...

  4. java把字符串变代码,Java/javaScript将字符串转变成可执行的语句

    java 以下语句如何执行? int money = 2500; String str = "money>=2000&&money<=4000" ; S ...

  5. JS字符串转换成数字的三种经典方法和代码实例

    1. 转换函数: js提供了parseInt()和parseFloat()两个转换函数.前者把值转换成整数,后者把值转换成浮点数.只有对String类型调用这些方法,这两个函数才能正确运行: 对其他类 ...

  6. 剑指offer——面试题49:把字符串转换成整数

    剑指offer--面试题49:把字符串转换成整数 Solution1: 代码写的啰嗦,但思路清晰..LeetCode上有相似的题目并考虑了溢出,可以参考LeetCode8答案 class Soluti ...

  7. Android kotlin 将Base64字符串转换成Bitmap,并在jetpack compose的Image控件中显示

    Android kotlin 将Base64字符串转换成Bitmap 前言 代码 将Base64字符串转换成Bitmap 在jetpack compose的Image控件中显示Bitmap 完事 前言 ...

  8. 【Java】 剑指offer(67) 把字符串转换成整数

      本文参考自<剑指offer>一书,代码采用Java语言. 更多:<剑指Offer>Java实现合集   题目 请你写一个函数StrToInt,实现把字符串转换成整数这个功能 ...

  9. java 字符串转成图片_java 转换图片为字符串,将字符串转换成图片显示

    java 转换图片为字符串,将字符串转换成图片显示, 该方法只适用于比较小的图片传输,50K以内: try{ // 将图片转换成字符串 File imgFile = new File("f: ...

最新文章

  1. makefile的命令包定义及使用
  2. 2012.2.18-silverlight设计器崩溃
  3. 书中自有黄金屋~外加中奖结果通知
  4. 港媒:中国将斥资1800亿美元建全球最大5G网络
  5. PyQt4打包exe文件
  6. react 翻书效果_react.js 翻页插件实例代码
  7. CSS特效(一):制作盒子荧光特效
  8. [2021年新鲜出炉]K8s工程师资料合辑,书籍推荐,面试题,精选文章,开源项目,PPT,视频,大厂资料
  9. 信息学奥赛一本通(1097:画矩形)
  10. 软件解耦(decouple)
  11. cesium.js 设置缩放最大最小限制
  12. python中批量将矩形图片转化为正方形图片,并且缩放
  13. 自激多谐振荡电路实验总结,小白电路测试
  14. Treap + FHQ Treap
  15. 计算机网络实验Lab1 Test
  16. 软件测试智能化 优势,陈耿-软件测试的智能化之路-基于模型的测试实践.pdf
  17. linux c语言文件锁,Linux下glibc库文件锁:协同锁(advisory lock)和强制锁(mandatory lock)...
  18. 基于STM32F767IGT6的RT-thread工程
  19. 在Matlab图片里输入数学公式、符号和希腊字母的方法
  20. Matlab 2017b安装硬件支持包

热门文章

  1. 前端学习(3064):vue+element今日头条管理-展示频道处理
  2. [html] 实现一个页面锁屏的功能
  3. [html] 怎样避免让用户看到长时间的白屏?
  4. [vue] 在vue项目中如何配置favicon?
  5. [css] 如何让表格单元格等宽显示
  6. 前端学习(2769):发送网络请求
  7. “约见”面试官系列之常见面试题第八篇说说原型与原型链(建议收藏)
  8. 前端学习(981):jquery入门
  9. 第一百一十八期:运行 JavaScript 代码片段的 20 种工具
  10. 第二十七期:Deepfake视频正在快速传播,也许区块链能够阻止这波“瘟疫”