OGNL表达式在Struts2中的应用详解
需积分: 49 166 浏览量
更新于2024-09-10
收藏 2KB TXT 举报
OGNL表达式详解
OGNL(Object-Graph Navigation Language)是一种强大的表达式语言,广泛应用于Struts2框架中。它允许开发者在视图层(View)中访问和操作模型层(Model)的数据。OGNL提供了丰富的语法和功能,能够满足复杂的业务需求。
ValueStackContents
在Struts2中,ValueStack是一个核心概念,它是一个存储了Action对象、模型对象和其它数据的栈结构。OGNL表达式可以通过ValueStack来访问和操作这些数据。例如:
* `<s:property value="act">`:访问当前Action对象的属性。
* `<s:property value="user.userName">`:访问当前用户对象的userName属性。
* `<s:property value="cat.dog.name">`:访问当前对象的cat属性下的dog属性下的name属性。
OGNL语法
OGNL语法非常丰富,支持多种操作符和函数。例如:
* `@@`:调用静态方法,例如 `<s:property value="@max(2,3)">`。
* `.`:访问对象的属性,例如 `<s:property value="user.userName">`。
* `[]`:访问集合的元素,例如 `<s:property value="userList[1]">`。
* `.`:调用对象的方法,例如 `<s:property value="m()">`。
集合操作
OGNL支持多种集合操作,例如:
* List: `<s:property value="userList">`,访问一个List对象。
* List中的元素访问: `<s:property value="userList[1]">`,访问List对象的第一个元素。
* List中的属性访问: `<s:property value="userList.{age}">`,访问List对象中每个元素的age属性。
Map操作
OGNL也支持Map操作,例如:
* `<s:property value="userMap">`,访问一个Map对象。
* `<s:property value="userMap.key1">`,访问Map对象的key1键对应的值。
* `<s:property value="userMap.keys">`,访问Map对象的所有键。
* `<s:property value="userMap.vaule">`,访问Map对象的所有值。
其它功能
OGNL还提供了许多其它功能,例如:
* 静态方法调用: `<constant name="struts.ognl.allowStaticMethodAccess" value="true">`,允许调用静态方法。
* 对象创建: `<s:property value="new com.example.User()">`,创建一个新的对象。
OGNL表达式语言提供了强大的功能和灵活的语法,能够满足复杂的业务需求,在Struts2框架中发挥着重要作用。
2013-01-09 上传
2013-10-25 上传
2021-10-11 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
真心_无语
- 粉丝: 0
- 资源: 1
最新资源
- 俄罗斯RTSD数据集实现交通标志实时检测
- 易语言开发的文件批量改名工具使用Ex_Dui美化界面
- 爱心援助动态网页教程:前端开发实战指南
- 复旦微电子数字电路课件4章同步时序电路详解
- Dylan Manley的编程投资组合登录页面设计介绍
- Python实现H3K4me3与H3K27ac表观遗传标记域长度分析
- 易语言开源播放器项目:简易界面与强大的音频支持
- 介绍rxtx2.2全系统环境下的Java版本使用
- ZStack-CC2530 半开源协议栈使用与安装指南
- 易语言实现的八斗平台与淘宝评论采集软件开发
- Christiano响应式网站项目设计与技术特点
- QT图形框架中QGraphicRectItem的插入与缩放技术
- 组合逻辑电路深入解析与习题教程
- Vue+ECharts实现中国地图3D展示与交互功能
- MiSTer_MAME_SCRIPTS:自动下载MAME与HBMAME脚本指南
- 前端技术精髓:构建响应式盆栽展示网站