STRUTS2中_,$,%符号详解及应用场景
3星 · 超过75%的资源 需积分: 11 187 浏览量
更新于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表达式的正确性和性能。
2019-07-28 上传
2011-10-19 上传
2012-02-17 上传
2019-07-18 上传
2022-09-24 上传
2022-09-20 上传
2021-09-22 上传
2022-09-21 上传
shiyugao
- 粉丝: 0
- 资源: 6
最新资源
- 全国江河水系图层shp文件包下载
- 点云二值化测试数据集的详细解读
- JDiskCat:跨平台开源磁盘目录工具
- 加密FS模块:实现动态文件加密的Node.js包
- 宠物小精灵记忆配对游戏:强化你的命名记忆
- React入门教程:创建React应用与脚本使用指南
- Linux和Unix文件标记解决方案:贝岭的matlab代码
- Unity射击游戏UI套件:支持C#与多种屏幕布局
- MapboxGL Draw自定义模式:高效切割多边形方法
- C语言课程设计:计算机程序编辑语言的应用与优势
- 吴恩达课程手写实现Python优化器和网络模型
- PFT_2019项目:ft_printf测试器的新版测试规范
- MySQL数据库备份Shell脚本使用指南
- Ohbug扩展实现屏幕录像功能
- Ember CLI 插件:ember-cli-i18n-lazy-lookup 实现高效国际化
- Wireshark网络调试工具:中文支持的网口发包与分析