Пример #1
0
 @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));
 }
Пример #2
0
  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);
 }