ルートオブジェクトとコンテキストの意味がよく分からないので、いくつか実験。
次のメソッドを使ってみる。
サンプルコードは次の通り。
Ognl#getValue(java.lang.String expression, java.lang.Object root)
で、結果。
import ognl.Ognl;
import ognl.OgnlContext;
import ognl.OgnlException;
import java.util.*;public class OgnlSample
{
public static void main(String[] args) {
try {
// ルートオブジェクトを生成。
Map root = new HashMap();
root.put("foo", "bar");
Map sub = new HashMap();
sub.put("hogehoge", "hogehogehoge");
root.put("hoge", sub);Object value = Ognl.getValue("foo", (Object) root);
System.out.println(value);
Object value2 = Ognl.getValue("hoge.hogehoge", (Object) root);
System.out.println(value2);
} catch (Exception e) {
e.printStackTrace();
}
}
}
ルートオブジェクトを設定すると、そのオブジェクトのプロパティを取得できるよう…であってるのかな…
bar
hogehogehoge