Java实现字符串转换成可执行代码的方法
作者:一缕阳光直射你的心扉 时间:2022-06-14 02:30:49
使用commons的jexl可实现将字符串变成可执行代码的功能,我写了一个类来封装这个功能:
import java.util.Map;
import org.apache.commons.jexl2.Expression;
import org.apache.commons.jexl2.JexlContext;
import org.apache.commons.jexl2.JexlEngine;
import org.apache.commons.jexl2.MapContext;
/**
* 动态加载方法
*
*/
public class DyMethodUtil {
public static Object invokeMethod(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);
}
}
调用
Map<String,Object> map=new HashMap<String,Object>();
map.put("testService",testService);
map.put("person",person);
String expression="testService.save(person)";
DyMethodUtil.invokeMethod(expression,map);
来源:https://blog.csdn.net/u013410747/article/details/51791394
标签:Java,字符串,执行
0
投稿
猜你喜欢
C#中静态的深入理解
2023-10-18 01:28:27
Java使用FileInputStream流读取文件示例详解
2021-05-26 00:57:58
C# CultureInfo类案例详解
2023-04-20 05:00:45
Winform实现调用asp.net数据接口实例
2021-12-16 09:12:48
Java 类加载机制详细介绍
2023-12-19 13:55:59
Android实现文件上传和下载倒计时功能的圆形进度条
2023-12-08 16:45:35
数字金额大写转换器制作代码分享(人民币大写转换)
2021-05-25 11:51:25
Spring源码完美导入IDEA的过程
2023-05-13 14:11:50
图解Java排序算法之快速排序的三数取中法
2022-02-26 17:58:23
C# Fiddler插件实现网站离线浏览功能
2022-10-09 01:46:14
C#数字图像处理之图像缩放的方法
2023-02-12 11:09:29
JavaWeb Servlet实现文件上传与下载功能实例
2023-06-16 16:41:27
java微信公众号企业付款开发
2023-04-07 00:21:08
MyBatis的SUM映射问题及解决
2023-01-07 17:27:04
java Mail邮件接收工具类
2022-04-24 14:17:17
java mybatis如何操作postgresql array数组类型
2023-04-25 22:59:37
Java后台实现微信支付和微信退款
2023-09-06 13:44:00
Unity 百度AI实现Logo商标识别
2023-06-09 17:04:26
c#创建圆形类Circle、矩形类实现代码
2023-08-18 19:59:12
java 教你如何给你的头像添加一个好看的国旗
2021-11-11 02:53:25