云中烛火

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
 1 import java.util.Arrays;
 2 import java.util.HashMap;
 3 import java.util.LinkedList;
 4 import java.util.List;
 5 import java.util.Map;
 6 
 7 import org.apache.commons.jexl2.Expression;
 8 import org.apache.commons.jexl2.JexlContext;
 9 import org.apache.commons.jexl2.JexlEngine;
10 import org.apache.commons.jexl2.MapContext;
11 
12 public class ArrayTest {
13     
14     public static void test1(){
15         JexlEngine jexl = new JexlEngine();
16         JexlContext jc = new MapContext();
17         
18         List<Object> l = new LinkedList<Object>();
19         l.add("Hello from location 0");
20         Integer two = new Integer(2);
21         l.add(two);
22         l.add("abcd");
23         l.add("xfc");
24         
25         
26         Map<String,Object> map = new HashMap<String,Object>();
27         map.put("key1","abcd");
28         map.put("key2", 22);
29         
30         jc.set("array",l);
31         jc.set("map",map);
32         jc.set("Arrays",Arrays.class);
33         
34         
35         String[] strs = new String[]{
36                 "array.size()",
37                 "array[0]",
38                 "array[0].length()",
39                 "Arrays.asList(map.keySet().toArray())",
40                 "map['key1']",
41                 "map['key1'].length()"
42         };
43         
44         for (String string : strs) {
45             Expression e = jexl.createExpression(string);
46             Object o = e.evaluate(jc);
47             System.out.println(string+"..."+o);
48         }
49     }
50     
51     public static void main(String [] args){
52         test1();
53     }
54 }

 

jexl的版本:

<dependency>
	<groupId>org.apache.commons</groupId>
	<artifactId>commons-jexl</artifactId>
	<version>2.1.1</version>
</dependency>

 

posted on 2015-06-13 11:28  云中烛火  阅读(428)  评论(0)    收藏  举报