Struts2 OGNL详解:Day32-33 笔记
需积分: 9 173 浏览量
更新于2024-07-20
1
收藏 12.26MB PDF 举报
"传智168期JavaEE Struts2 杜宏 day32~day33 笔记"
在JavaEE开发中,Struts2是一个广泛应用的MVC框架,而OGNL(Object-Graph Navigation Language)是Struts2的核心组成部分,用作其默认的表达式语言。本笔记主要围绕Struts2中的OGNL使用进行讲解,由阿滔整理,涵盖了day32和day33的学习内容。
1. OGNL简介
OGNL是一种强大的表达式语言,它允许开发者通过简洁的语法来访问和操作对象图。在Struts2框架中,OGNL用于处理Action对象和视图层之间的数据交互。XWork库提供了OGNL表达式的支持,而实际使用的版本为ognl-3.0.5.jar。
2. OGNL的主要功能
- **对象方法调用**:可以直接调用对象的方法,如`object.doSomeSpecial()`。
- **静态方法调用和值访问**:可以访问类的静态方法和静态属性。
- **访问上下文**:包括OGNLContext和ActionContext,尤其是ValueStack(值栈),它是Struts2中数据传递的关键。
- **赋值操作**:可以用来设置对象的属性值。
- **集合操作**:方便地操作集合对象,如列表、数组等。
3. Struts2中的OGNL使用
- 在Struts2的标签中,`<s:property value="ognl表达式">`用来展示OGNL表达式的结果。例如,`<s:property value="'abc'.length()" />`将输出字符串"abc"的长度。
- 静态成员访问时,如果`struts.ognl.allowStaticMethodAccess`配置为`true`,则可以调用类的静态方法,如`<s:property value="@java.lang.Math@max(10,20)" />`。
- JSP页面中,可以使用相同的方式通过OGNL表达式来访问和显示数据。
4. 示例代码
- `ognl1.jsp`是一个简单的示例,展示了如何在JSP页面中使用OGNL表达式。`<s:property value="'abc'.length()" />`会输出3,表示字符串"abc"的长度。而`<s:property value="@java.lang.Math@max(10,20)" />`则会输出20,这是Math类的静态方法max的结果。
总结,学习Struts2中的OGNL,关键在于理解OGNLContext、root和非root的概念,以及如何在Struts2标签中正确使用OGNL表达式来调用对象方法、访问静态成员和操作集合。熟悉这些概念和用法,将有助于提升JavaEE应用开发的效率。
2023-10-10 上传
2023-10-18 上传
2023-10-20 上传
2023-08-22 上传
2023-06-21 上传
2023-07-25 上传
阿滔1357
- 粉丝: 129
- 资源: 30
最新资源
- zlib-1.2.12压缩包解析与技术要点
- 微信小程序滑动选项卡源码模版发布
- Unity虚拟人物唇同步插件Oculus Lipsync介绍
- Nginx 1.18.0版本WinSW自动安装与管理指南
- Java Swing和JDBC实现的ATM系统源码解析
- 掌握Spark Streaming与Maven集成的分布式大数据处理
- 深入学习推荐系统:教程、案例与项目实践
- Web开发者必备的取色工具软件介绍
- C语言实现李春葆数据结构实验程序
- 超市管理系统开发:asp+SQL Server 2005实战
- Redis伪集群搭建教程与实践
- 掌握网络活动细节:Wireshark v3.6.3网络嗅探工具详解
- 全面掌握美赛:建模、分析与编程实现教程
- Java图书馆系统完整项目源码及SQL文件解析
- PCtoLCD2002软件:高效图片和字符取模转换
- Java开发的体育赛事在线购票系统源码分析