<tr id="ieeco"><small id="ieeco"></small></tr>
<acronym id="ieeco"></acronym>

使用ExpressionParser測試Spring El

Spring表達式語言(SpEL)支持許多功能,您可以使用此特殊的“ ExpressionParser ”接口測試那些表達式功能。

這是兩個代碼段,展示了使用Spring EL的基本用法。

SpEL計算文字字符串表達式。

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

SpEL評估bean屬性–“ item.name”。

Item item = new Item("mkyong", 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);

很少有示例可以測試SpEL。 代碼和注釋應具有自探索性。

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("mkyong", 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 == 'mkyong'
		Expression exp5 = parser.parseExpression("name == 'mkyong'");
		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;
	}

	//...
}

輸出量

Hello World
11
200
mkyong
true

注意
本文演示了Spring表達式解析器的一些基本用法,您應該訪問此官方Spring表達式文檔以獲取數百個有用的SpEL示例。

下載源代碼

下載它– Spring3-EL-Parser-Example.zip (6 KB)

翻譯自: https://mkyong.com/spring3/test-spring-el-with-expressionparser/

表情包
插入表情
評論將由博主篩選后顯示,對所有人可見 | 還能輸入1000個字符
相關推薦
??2020 CSDN 皮膚主題: 編程工作室 設計師:CSDN官方博客 返回首頁
彩票送彩金