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("h3", 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);
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("h3", 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 == 'h3'
expression exp5 = parser.parseexpression("name == 'h3'");
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 h3 true