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