java将字符串转换成可执行代码
生活随笔
收集整理的這篇文章主要介紹了
java将字符串转换成可执行代码
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
使用commons的jexl可實(shí)現(xiàn)將字符串變成可執(zhí)行代碼的功能
通用工具類:
/** * * @author: Longjun * @Description: 使用commons的jexl可實(shí)現(xiàn)將字符串變成可執(zhí)行代碼的功能 * @date:2016年3月21日 下午1:45:13 */ public static Object convertToCode(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); }調(diào)用示例1:
public static void main(String[] args) { try { Map<String,Object> map=new HashMap<String,Object>(); 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(); } }code輸出是true;
調(diào)用示例2:
public static void main(String[] args) { try { Map<String,Object> map=new HashMap<String,Object>(); 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包:commons-jexl-2.0.jar
下載連接:http://download.csdn.net/detail/junlong750/9468052
maven配置:
<dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-jexl</artifactId> <version>2.0</version> </dependency>轉(zhuǎn)載:https://blog.csdn.net/junlong750/article/details/50945883
總結(jié)
以上是生活随笔為你收集整理的java将字符串转换成可执行代码的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 全球气象数据网站
- 下一篇: SPSS学习中涉及的统计知识