Если целью является только чтение свойств из объекта, то может быть достаточно PropertyUtils.getProperty (из commons-beanutils). Однако, если намерение состоит в том, чтобы оценить условные выражения и тому подобное, Ognl может выиграть.
Вот тот же пример измерения с логическим значением:
Dimension d = new Dimension();
d.setSize(100,200) ;// width and height
Map<String,Object> map = new HashMap<String,Object>();
map.put("dimension", d);
String expression = "dimension.width == 100 && dimension.height == 200";
Object exp = Ognl.parseExpression(expression);
Boolean b = (Boolean) Ognl.getValue(exp,map);
// b would evaluate to true in this case