Test Spring el avec ExpressionParser

Testez Spring el avec ExpressionParser

Le langage d'expression Spring (SpEL) prend en charge de nombreuses fonctionnalités, et vous pouvez tester ces fonctionnalités d'expression avec cette interface spéciale «ExpressionParser».

Voici deux extraits de code illustrant l'utilisation de base de Spring EL.

SpEL pour évaluer l'expression de chaîne littérale.

ExpressionParser parser = new SpelExpressionParser();
Expression exp = parser.parseExpression("'put spel expression here'");
String msg = exp.getValue(String.class);

SpEL pour évaluer la propriété du bean - «item.name».

Item item = new Item("example", 100);
StandardEvaluationContext itemContext = new StandardEvaluationContext(item);

//display the value of item.name property
Expression exp = parser.parseExpression("name");
String msg = exp.getValue(itemContext, String.class);

Quelques exemples pour tester SpEL. Les codes et commentaires doivent être auto-exploratoires.

import org.springframework.expression.Expression;
import org.springframework.expression.ExpressionParser;
import org.springframework.expression.spel.standard.SpelExpressionParser;
import org.springframework.expression.spel.support.StandardEvaluationContext;

public class App {
    public static void main(String[] args) {

        ExpressionParser parser = new SpelExpressionParser();

        //literal expressions
        Expression exp = parser.parseExpression("'Hello World'");
        String msg1 = exp.getValue(String.class);
        System.out.println(msg1);

        //method invocation
        Expression exp2 = parser.parseExpression("'Hello World'.length()");
        int msg2 = (Integer) exp2.getValue();
        System.out.println(msg2);

        //Mathematical operators
        Expression exp3 = parser.parseExpression("100 * 2");
        int msg3 = (Integer) exp3.getValue();
        System.out.println(msg3);

        //create an item object
        Item item = new Item("example", 100);
        //test EL with item object
        StandardEvaluationContext itemContext = new StandardEvaluationContext(item);

        //display the value of item.name property
        Expression exp4 = parser.parseExpression("name");
        String msg4 = exp4.getValue(itemContext, String.class);
        System.out.println(msg4);

        //test if item.name == 'example'
        Expression exp5 = parser.parseExpression("name == 'example'");
        boolean msg5 = exp5.getValue(itemContext, Boolean.class);
        System.out.println(msg5);

    }
}
public class Item {

    private String name;

    private int qty;

    public Item(String name, int qty) {
        super();
        this.name = name;
        this.qty = qty;
    }

    //...
}

Sortie

Hello World
11
200
example
true

Note
Cet article présente quelques utilisations de base de l'analyseur d'expression Spring, et vous devriez visiter ceofficial Spring expression documentation pour des centaines d'exemples SpEL utiles.

Télécharger le code source

Téléchargez-le -Spring3-EL-Parser-Example.zip (6 Ko)