java如何把string转化E_java将string转为代码执行
/**
*
* @author: Longjun
* @Description: 使用commons的jexl可實現(xiàn)將字符串變成可執(zhí)行代碼的功能
* @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
總結(jié)
以上是生活随笔為你收集整理的java如何把string转化E_java将string转为代码执行的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 阿富汗现在还有联合国人员吗
- 下一篇: 香奈儿有双o标吗?