@Test public void test() { ExpressionParser parser = new SpelExpressionParser(); Expression expression = parser.parseExpression("('Hello' + ' World').concat(#end)"); EvaluationContext context = new StandardEvaluationContext(); context.setVariable("end", "!"); System.out.println(expression.getValue(context)); Assert.assertEquals("Hello World!", expression.getValue(context)); }
public static void main(String[] args) { // 创建一个ExpressionParser对象,用于解析表达式 ExpressionParser parser = new SpelExpressionParser(); List<String> list = new ArrayList<String>(); list.add("疯狂Java讲义"); list.add("疯狂Ajax讲义"); list.add("疯狂XML讲义"); list.add("经典Java EE企业应用实战"); EvaluationContext ctx = new StandardEvaluationContext(); ctx.setVariable("mylist", list); // 得到的新集合的元素是原集合的每个元素length()方法返回值 Expression expr = parser.parseExpression("#mylist.![length()]"); System.out.println(expr.getValue(ctx)); List<Person> list2 = new ArrayList<Person>(); list2.add(new Person(1, "孙悟空", 162)); list2.add(new Person(1, "猪八戒", 182)); list2.add(new Person(1, "牛魔王", 195)); ctx.setVariable("mylist2", list2); // 得到的新集合的元素是原集合的每个元素name属性值 expr = parser.parseExpression("#mylist2.![name]"); System.out.println(expr.getValue(ctx)); }
@Override public void setVariable(String name, Object value) { delegate.setVariable(name, value); }