Testen Sie Spring el mit ExpressionParser
Die Spring Expression Language (SpEL) unterstützt viele Funktionen, und Sie können diese Ausdrucksfunktionen mit dieser speziellen Schnittstelle "ExpressionParser" testen.
In den beiden folgenden Codefragmenten wird die grundlegende Verwendung von Spring EL veranschaulicht.
SpEL zur Auswertung des Literal-String-Ausdrucks.
ExpressionParser parser = new SpelExpressionParser(); Expression exp = parser.parseExpression("'put spel expression here'"); String msg = exp.getValue(String.class);
SpEL, um die Bean-Eigenschaft "item.name" auszuwerten.
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);
Einige Beispiele zum Testen von SpEL. Die Codes und Kommentare sollten selbsterklärend sein.
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; } //... }
Ausgabe
Hello World 11 200 example true
Note
Dieser Artikel zeigt einige grundlegende Verwendungszwecke des Spring-Ausdrucksparsers. Inofficial Spring expression documentation finden Sie Hunderte nützlicher SpEL-Beispiele.
Quellcode herunterladen
Laden Sie es herunter -Spring3-EL-Parser-Example.zip (6 KB)