/**

*

* @author: Longjun

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

* @date:2016年3月21日 下午1:45:13

*/

public static Object convertToCode(String jexlExp,Map 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 map=new HashMap();

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();

}

}

示例2

public static void main(String[] args) {

try {

Map map=new HashMap();

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

org.apache.commons

commons-jexl

2.0

java如何把string转化E_java将string转为代码执行相关推荐

  1. Java 机内码 String 转化

    前言 新项目要跟硬件那边通信,传输的字符串类型中包含汉字,硬件那边要求转成机内码,并且反传的数据中,汉字也是转化成机内码的,这就要求我这边机内码和String能相互转化.但是但是但是,机内码是个鬼啊, ...

  2. Java学习笔记(六)--字符串String类

    文章目录 字符串 一.String 类 1.1 声明字符串 1.2 创建字符串 二.连接字符串 2.1 连接多个字符串 2.2 连接其他数据类型 三.获取字符串信息 3.1 获取字符串长度 3.2 字 ...

  3. Java基础(三十四)String、StringBuffer类和数据缓冲区Buffer类

    一.String类 1.创建字符串对象 创建字符串对象有两种方法:直接用"="或者使用"new String(...)" String aStr = " ...

  4. java中string范围_java中long parseLong(String s)方法中string(十进制数字)的范围?

    java中long parseLong(String s)方法中string(十进制数字)的范围? 來源:互聯網  2009-06-19 05:05:28  評論 分類: 電腦/網絡 >> ...

  5. Java String API 常用的String方法详解

    标题 String类的特性 Java中String类的构造方法 String类的 intern() 注意还跟jdk有关 如何保证变量S指向的是字符串常量池中的数据呢? 关于String中 new St ...

  6. Java常用类库(Object类、String类、StringBuffer类、包装类、Math类、System类)详解

    常用类库 java.lang java.lang包下放置了Java开发中常用的类和接口,所以为简化该包下类的使用,java.lang包下的类在使用时不需要导入这些类 java.lang包下常用类有: ...

  7. java new string 图_Java中String直接赋字符串和new String的一些问题

    今天课堂测试做了几道String的练习题,做完直接心态爆炸...... 整理自下面两篇博客: 首先先来看看下面的代码: public classStringTest {public static vo ...

  8. Java源码详解四:String源码分析--openjdk java 11源码

    文章目录 注释 类的继承 数据的存储 构造函数 charAt函数 equals函数 hashCode函数 indexOf函数 intern函数 本系列是Java详解,专栏地址:Java源码分析 Str ...

  9. Java的API及Object类、String类、字符串缓存区

    Java 的API(API: Application(应用) Programming(程序) Interface(接口)) Object:Object类是Java语言中的根类,即所有类的父类. equ ...

最新文章

  1. MQTT+ActiveMQ实现消息推送
  2. 基于c++的马氏距离算法代码_监控警戒区基于掩码算法的简单实现(附代码)
  3. 考试系统—— 刷新页面 考试剩余时间不重新开始
  4. 人生苦短,Python之父要解开这个困惑
  5. @Transactional注解导致 多数据源@DS无效 的解决方案
  6. 编写程序,对用户输入的n个整数,统计其最大数、最小数和平均值
  7. mfc检测一个目录是否产生新文件_细数Java8中那些让人纵享丝滑的文件操作
  8. Qt工作笔记-动态曲线图
  9. Python中NotImplementedError的使用方法(抽象类集成子类实现)
  10. tea 加密密钥生成_加密密钥生成需要的是熵的良好来源
  11. linux脚本定时拷贝文件,使用Linux shell脚本实现FTP定时执行批量下载指定文件
  12. SentinelResource注解配置上_分布式系统集群限流_线程数隔离_削峰填谷_流量控制_速率控制_服务熔断_服务降级---微服务升级_SpringCloud Alibaba工作笔记0045
  13. 5.Knockout.Js(自定义绑定)
  14. 计算机设备序列号都一样,如何使用adb工具
  15. 【转】浅谈命令查询职责分离(CQRS)模式
  16. 4.json字符串转换集json对象、json对象转换json字符串
  17. redis 集群常用命令
  18. Python编程的例子----股票数据接口
  19. css3中文参考手册
  20. 从冬令营到字节跳动,我从ICPCer变身Bytedancer

热门文章

  1. 02_创建Git仓库,克隆仓库,git add,git commit,git push,git pull,同行冲突,不同行冲突的结局方案,git mergetool的使用
  2. Mysql数据类型之浮点与二进制型数据使用案例总结
  3. 计算机旁边快速访问没有桌面图标了怎么办,桌面找不到我的电脑(计算机)图标的解决办法-win10桌面显示我的电脑...
  4. connect连接oracle6,Oracle Connect By 使用实例
  5. OpenCV图像仿射变换
  6. icp点云匹配迭代最近邻算法
  7. delete file$ recovery----惜分飞
  8. 一句话进行浏览器版本识别
  9. Layer 父子页面之间的交互
  10. Linux Redis 重启数据丢失解决方案,Linux重启后Redis数据丢失解决方