我需要使用OGNL从Java对象中读取一些属性.OGNL对我来说是全新的事情.可用于OGNL的文件是OGNL的网站,对我来说真的很混乱.
所以任何人都可以提供一个HelloWorld使用OGNL 的简单示例(或任何教程链接也很有帮助).
paw*_*que 12
试试这个:
Dimension d = new Dimension(2,2);
String expressionString = "width";
Object expr = Ognl.parseExpression(expressionString);
OgnlContext ctx = new OgnlContext();
Object value = Ognl.getValue(expr, ctx, d);
System.out.println("Value: " + value);
Run Code Online (Sandbox Code Playgroud)
如果只是为了从对象中读取属性,那么PropertyUtils.getProperty(来自commons-beanutils)就足够了.但是,如果目的是评估条件等,那么Ognl可能会受益.
这是带有布尔值的相同Dimension示例:
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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14083 次 |
| 最近记录: |