欢迎来到代码驿站!

JAVA代码

当前位置:首页 > 软件编程 > JAVA代码

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

时间:2021-09-09 09:51:24|栏目: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,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); 

上一篇:剖析Java中HashMap数据结构的源码及其性能优化

栏    目:JAVA代码

下一篇:Spring之WEB模块配置详解

本文标题:Java实现字符串转换成可执行代码的方法

本文地址:http://www.codeinn.net/misctech/173634.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有