STRUTS2中_,$,%符号详解及应用场景
3星 · 超过75%的资源 需积分: 11 25 浏览量
更新于2024-10-03
收藏 56KB DOC 举报
在Struts2标签中,符号#、%、$具有特殊的用途和用法,对于理解这些符号在OGNL表达式中的功能至关重要。本文将对这些符号进行详细介绍。
1. **#符号**:
- **访问非根对象属性**:在Struts2中,由于值栈被视为根对象,通过#前缀可以访问其他非根对象。例如,#session.msg等价于ActionContext.getContext().getSession().getAttribute("msg"),表示获取session中的msg属性。
- **过滤和投影集合**:当在遍历或操作集合时,如persons列表,#this.age>20用于筛选满足条件的元素,执行投影操作。
- **构造Map**:在表达式#{'foo1': 'bar1', 'foo2': 'bar2'}中,#用于创建一个键值对的Map。
2. **%符号**:
- **字符串类型的标志属性**:%符号在字符串属性中用于计算OGNL表达式的值。如在<s:set>标签中,%{#foobar['foo1']}代替#foobar['foo1'],使得属性值能够动态计算。
3. **$符号**:
- **国际化资源文件**:在国际化资源文件中,$符号用于引用OGNL表达式,如reg.agerange = 国际化信息:年龄必须在${min}和${max}之间,这里的${min}和${max}会被实际的OGNL表达式替换为对应的值。
- **配置文件中的OGNL引用**:在Struts2验证器配置中,如<paramname=”min”>10</param><paramname=”max”>100</param>,$符号被用于动态设置参数值,message标签中的${min}和${max}也会根据配置中的OGNL表达式动态显示错误消息。
理解并熟练运用这些符号是Struts2开发中不可或缺的一部分,可以帮助开发者更有效地处理数据绑定、国际化和配置管理,提高代码的灵活性和可维护性。在实际项目中,开发者需要根据具体场景选择合适的符号,确保OGNL表达式的正确性和性能。
201 浏览量
2022-07-14 上传
2007-10-18 上传
2022-06-16 上传
点击了解资源详情
923 浏览量
2025-01-10 上传
shiyugao
- 粉丝: 0
- 资源: 6
最新资源
- 轻轻松松集成PayPal.标准版+.Jan07.pdf
- The+Java+Language+Specification
- 综合布线相关标准介绍
- C++的STL的内容
- 练成Linux系统高手教程
- PCB Layout走线设计技巧.pdf
- GB-T 14912-2005
- OpenGL教程(大师版)
- Using as The gnu Assembler
- unix常用命令介绍
- 会声会影11超级快速入门教材(简体中文带彩图)
- Spring_Live[非常好].pdf
- Linux 使用技巧33条
- Oracle sql 性能优化调整
- jsp 的高级教程 讲解很好
- Computational Geometry: Algorithms and Applications Third Edition