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>
浙公网安备 33010602011771号