Struts2框架中的OGNL表达式语言详解
需积分: 9 187 浏览量
更新于2024-08-18
收藏 1.36MB PPT 举报
"OGNL表达式语言是Struts2框架中的默认表达式语言,用于对象图导航,具有强大的功能,如支持对象方法调用、类静态方法调用和值访问、赋值操作、表达式串联以及访问上下文。Struts2是一个成熟的MVC框架,解决Web开发中的多种问题,如页面导航、数据验证、国际化、Ajax支持等,并具有无侵入式设计、拦截器、类型转换器、灵活的表现层技术和输入验证等特点。"
OGNL(Object Graphic Navigation Language)是一种强大的表达式语言,广泛应用于Struts2框架中。它的主要优势在于能够方便地操作对象和表达式,包括直接调用对象方法,如`xxx.doSomeSpecial()`;执行类静态方法和访问静态值,例如`@java.lang.String@format('foo %s', 'bar')`或访问自定义常量`@tutorial.MyConstant@APP_NAME`。此外,OGNL还支持赋值操作和表达式组合,如`price=100, discount=0.8, calculatePrice()`,可以计算出最终价格。OGNL上下文是一个实现了Map接口的数据结构,存储了运行时环境中的关键信息,使得开发者可以方便地访问和操作这些信息。
Struts2框架是用于构建MVC(Model-View-Controller)架构的Web应用的一个流行选择。它提供了一系列特性来简化开发流程,包括管理页面导航、验证用户输入、实现统一布局、支持国际化和本地化、启用Ajax功能以及防止表单重复提交。相比于Struts1,Struts2有以下几个显著优点:
1. **无侵入式设计**:Struts2的控制器Action不再需要继承特定的基类或实现特定接口,降低了对Servlet API和Struts API的依赖,使得代码更加灵活和可维护。
2. **拦截器**:Struts2引入了拦截器机制,允许开发者实现AOP(面向切面编程),如权限控制、日志记录等,增强应用的功能和可扩展性。
3. **类型转换器**:框架内建了类型转换功能,可以自动将请求参数转换为所需类型,无需手动注册转换器,提升了开发效率。
4. **多视图技术支持**:Struts2不仅支持JSP,还兼容FreeMarker和Velocity等模板技术,提供了更多的表现层选择。
5. **输入验证**:验证机制可以针对特定的方法进行,解决了Struts1中验证逻辑分散的问题。
6. **国际化管理**:提供了不同层次(全局、包、Action)的国际化资源文件管理,方便实现多语言应用。
尽管Struts2与Struts1在名称上相似,但它们在设计和实现上有很大区别。Struts2实际上更多地基于WebWork框架,因此从Struts1迁移到Struts2需要理解两者之间的差异,并进行相应的代码调整。Struts2的这些改进使其在处理复杂Web应用时更具优势。
2009-01-15 上传
2011-06-10 上传
2014-10-19 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
2009-04-01 上传
简单的暄
- 粉丝: 24
- 资源: 2万+
最新资源
- 前端协作项目:发布猜图游戏功能与待修复事项
- Spring框架REST服务开发实践指南
- ALU课设实现基础与高级运算功能
- 深入了解STK:C++音频信号处理综合工具套件
- 华中科技大学电信学院软件无线电实验资料汇总
- CGSN数据解析与集成验证工具集:Python和Shell脚本
- Java实现的远程视频会议系统开发教程
- Change-OEM: 用Java修改Windows OEM信息与Logo
- cmnd:文本到远程API的桥接平台开发
- 解决BIOS刷写错误28:PRR.exe的应用与效果
- 深度学习对抗攻击库:adversarial_robustness_toolbox 1.10.0
- Win7系统CP2102驱动下载与安装指南
- 深入理解Java中的函数式编程技巧
- GY-906 MLX90614ESF传感器模块温度采集应用资料
- Adversarial Robustness Toolbox 1.15.1 工具包安装教程
- GNU Radio的供应商中立SDR开发包:gr-sdr介绍