我想使用 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
class 有两个属性:age & name,所以这里我想打印: hello:lig
,但是没有,它抛出异常意思hello:{#this.name}
是不是合法的表达,我不知道如何修复它,或者 OGNL 是否支持这种混合风格表达?