java将字符串转换成可执行代码
使用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将字符串转换成可执行代码相关推荐
- Java实现字符串转换成整数
1 问题描述 输入一个由数字组成的字符串,请把它转换成整数并输出.例如,输入字符串"123",输出整数123. 请写出一个函数实现该功能,不能使用库函数. 2 解决方案 解答本问题 ...
- JAVA把字符串转换成整数
剑指offer: 将一个字符串转换成一个整数(实现Integer.valueOf(string)的功能,但是string不符合数字要求时返回0),要求不能使用字符串转换整数的库函数. 数值为0或者字符 ...
- java把字符串转换成日期格式
public static void main(String[] args) throws Exception{Date date = new SimpleDateFormat("yyyy- ...
- java把字符串变代码,Java/javaScript将字符串转变成可执行的语句
java 以下语句如何执行? int money = 2500; String str = "money>=2000&&money<=4000" ; S ...
- JS字符串转换成数字的三种经典方法和代码实例
1. 转换函数: js提供了parseInt()和parseFloat()两个转换函数.前者把值转换成整数,后者把值转换成浮点数.只有对String类型调用这些方法,这两个函数才能正确运行: 对其他类 ...
- 剑指offer——面试题49:把字符串转换成整数
剑指offer--面试题49:把字符串转换成整数 Solution1: 代码写的啰嗦,但思路清晰..LeetCode上有相似的题目并考虑了溢出,可以参考LeetCode8答案 class Soluti ...
- Android kotlin 将Base64字符串转换成Bitmap,并在jetpack compose的Image控件中显示
Android kotlin 将Base64字符串转换成Bitmap 前言 代码 将Base64字符串转换成Bitmap 在jetpack compose的Image控件中显示Bitmap 完事 前言 ...
- 【Java】 剑指offer(67) 把字符串转换成整数
本文参考自<剑指offer>一书,代码采用Java语言. 更多:<剑指Offer>Java实现合集 题目 请你写一个函数StrToInt,实现把字符串转换成整数这个功能 ...
- java 字符串转成图片_java 转换图片为字符串,将字符串转换成图片显示
java 转换图片为字符串,将字符串转换成图片显示, 该方法只适用于比较小的图片传输,50K以内: try{ // 将图片转换成字符串 File imgFile = new File("f: ...
最新文章
- makefile的命令包定义及使用
- 2012.2.18-silverlight设计器崩溃
- 书中自有黄金屋~外加中奖结果通知
- 港媒:中国将斥资1800亿美元建全球最大5G网络
- PyQt4打包exe文件
- react 翻书效果_react.js 翻页插件实例代码
- CSS特效(一):制作盒子荧光特效
- [2021年新鲜出炉]K8s工程师资料合辑,书籍推荐,面试题,精选文章,开源项目,PPT,视频,大厂资料
- 信息学奥赛一本通(1097:画矩形)
- 软件解耦(decouple)
- cesium.js 设置缩放最大最小限制
- python中批量将矩形图片转化为正方形图片,并且缩放
- 自激多谐振荡电路实验总结,小白电路测试
- Treap + FHQ Treap
- 计算机网络实验Lab1 Test
- 软件测试智能化 优势,陈耿-软件测试的智能化之路-基于模型的测试实践.pdf
- linux c语言文件锁,Linux下glibc库文件锁:协同锁(advisory lock)和强制锁(mandatory lock)...
- 基于STM32F767IGT6的RT-thread工程
- 在Matlab图片里输入数学公式、符号和希腊字母的方法
- Matlab 2017b安装硬件支持包
热门文章
- 前端学习(3064):vue+element今日头条管理-展示频道处理
- [html] 实现一个页面锁屏的功能
- [html] 怎样避免让用户看到长时间的白屏?
- [vue] 在vue项目中如何配置favicon?
- [css] 如何让表格单元格等宽显示
- 前端学习(2769):发送网络请求
- “约见”面试官系列之常见面试题第八篇说说原型与原型链(建议收藏)
- 前端学习(981):jquery入门
- 第一百一十八期:运行 JavaScript 代码片段的 20 种工具
- 第二十七期:Deepfake视频正在快速传播,也许区块链能够阻止这波“瘟疫”