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 の 2 つのプロパティがあるため、ここで print: を使用したいのですが、そうではありませんでしhello:lig
た。例外がスローされました。意味hello:{#this.name}
は正当な表現ではありません。修正方法がわかりません。または、OGNL はこの混合をサポートしていますかスタイル表現?