09.属性访问
2015-06-15 21:18
246 查看
bean properties
在前面的文档中可以了解到MVEL可以访问到对象的属性。比如user.name可以相当于Java中的user.getName()。
Null-Safe Bean Navigation
有时,当你的表达式中会含有null元素时,这时就需要你进行一个为空判断,否则就会发生错误。当你使用null-safe操作符时你可以简化这个操作:user.?manager.name
它相当于:if (user.manager
!= null) { return user.manager.name;
} else { return null;
}
集合
集合的遍历也可以通过简单的语法来实现:
List:可以像访问数组一样访问List,如:user[5],这等价与java代码中的user.get(5);
Map:Map的访问和访问数组也非常相似,不同的是,在访问Map时索引值可以是任意对象,如:user["foobar"]这等价于java代码中的user.get("foobar");
当Map的key是String类型时,还可以使用特殊的方式来访问,如:user.foobar,也就是允许你把map本身看成一个虚拟的对象,来访问其属性
字符串
为了能使用属性的索引(迭代也是如此),所有的字符串都可以看成是一个数组,在MVEL中你可以用下面的方式来获取一个字符串变量的第一个字符:
foo = "My String";
foo[0]; // returns 'M'
在前面的文档中可以了解到MVEL可以访问到对象的属性。比如user.name可以相当于Java中的user.getName()。
Null-Safe Bean Navigation
有时,当你的表达式中会含有null元素时,这时就需要你进行一个为空判断,否则就会发生错误。当你使用null-safe操作符时你可以简化这个操作:user.?manager.name
它相当于:if (user.manager
!= null) { return user.manager.name;
} else { return null;
}
[align=left] String expression = "user.?name";[/align] [align=left] User u = new User();[/align] [align=left] Map m = new HashMap();[/align] [align=left] m.put("user",u);[/align] [align=left] [/align] [align=left] Object obj = MVEL. eval(expression ,m);[/align] |
集合的遍历也可以通过简单的语法来实现:
List:可以像访问数组一样访问List,如:user[5],这等价与java代码中的user.get(5);
Map:Map的访问和访问数组也非常相似,不同的是,在访问Map时索引值可以是任意对象,如:user["foobar"]这等价于java代码中的user.get("foobar");
当Map的key是String类型时,还可以使用特殊的方式来访问,如:user.foobar,也就是允许你把map本身看成一个虚拟的对象,来访问其属性
字符串
为了能使用属性的索引(迭代也是如此),所有的字符串都可以看成是一个数组,在MVEL中你可以用下面的方式来获取一个字符串变量的第一个字符:
foo = "My String";
foo[0]; // returns 'M'
相关文章推荐
- 简单易懂云计算(转自天涯感谢原楼主iamsatisfied)
- 2011云计算知识库:盘点千奇百怪的云名称
- 康诺云推出三款智能硬件产品,为健康管理业务搭建数据池
- Lua学习笔记之运算符和表达式
- Lua教程(三):表达式和语句
- Lua基础教程之赋值语句、表达式、流程控制、函数学习笔记
- Ruby中case表达式详解
- MySQL中使用innobackupex、xtrabackup进行大数据的备份和还原教程
- 理解C#中的Lambda表达式
- javascript属性访问表达式用法分析
- JavaScript中:表达式和语句的区别[译]
- js 中的switch表达式使用示例
- js表达式计算器代码
- SQLite教程(六):表达式详解
- 用PHP实现的四则运算表达式计算实现代码
- Javascript表达式中连续的 && 和 || 之赋值区别
- javascript 用函数语句和表达式定义函数的区别详解
- JavaScript表达式:URL 协议介绍
- python 中的列表解析和生成表达式
- Lua中的操作符和表达式总结