OGNL コンテキストと変数

長くなったので、日付変更。


OGNLのVariableは頭に「#」をつけてアクセスします。
コンテキストには、変数が格納されるものなのか…と思って以下のコードをテスト。

import ognl.*;
import java.util.*;

public class OgnlSample
{
public static void main(String[] args) throws Exception{
OgnlContext context = new OgnlContext();
System.out.println("1: " + context.getValues());
Ognl.getValue("#hoge = 'hogera'", (Map) context, (Object) null);
System.out.println("2: " + context.getValues());
Ognl.getValue("#foo = {'あいうえお', 'かきくけこ'}", (Map) context, (Object) null);
System.out.println("3: " + context.getValues());
}
}

getValueを使っているのが間抜けだけど、適切なメソッドが分からないので。
で、結果。


1: {}
2: {hoge=hogera}
3: {foo=[あいうえお, かきくけこ], hoge=hogera}

#hogeは変数、変数はコンテキストに格納される…と。