Java实现字符串转换成可执行代码的方法

网友投稿 292 2023-01-25


Java实现字符串转换成可执行代码的方法

使用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,Ohttp://bject> 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 map=new HashMap();

map.put("testService",testService);

map.put("person",person);

String expression="testService.save(person)";

DyMethodUtil.invokeMethod(expression,map);


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:java调用shell命令并获取执行结果的示例
下一篇:内存共享文件系统更改方法(文件共享修改)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~