我想使用OGNL来计算表达式,这个表达式包含普通的字符串和属性名称。
单元测试代码:
@Test
public void evaluate_ognl() throws OgnlException
{
String expression = "hello:{#this.name}";
Object expr = Ognl.parseExpression(expression);
OgnlContext ctx = new OgnlContext();
Student s = new Student();
s.setAge(12);
s.setName("lig");
Object value = Ognl.getValue(expr, ctx, s);
System.out.println(value);
}
Student
类有两个属性:age& name,所以在这里我要打印:hello:lig
,但它没有,它抛出一个异常意味着hello:{#this.name}
不是一个合法的表达式,我不知道如何修复它,或者OGNL支持这种混合风格的表达?