OGNL表达式在Struts2中的应用与$符号详解
需积分: 0 129 浏览量
更新于2024-08-17
收藏 1.73MB PPT 举报
OGNL表达式语言在Struts 2应用中的广泛使用
在Struts 2框架中,OGNL(Object-Graph Navigation Language)表达式语言是一种强大的工具,它允许在配置文件和动态网页中进行灵活的数据访问和操作。OGNL的主要用途有两个方面:
1. 国际化和本地化:在国际化资源文件中,"$"符号被用于引用OGNL表达式,这使得开发者能够根据用户选择的语言环境动态地加载和替换字符串资源。例如,在struts.xml文件中,`<result name="ognl">/ognl/ongl.jsp?msg=${#request.msgxx}</result>`这一行,`msg`就是通过OGNL表达式从`HttpServletRequest`的`getAttribute`方法获取的`msgxx`属性值。
2. 动态配置和数据绑定:在Struts 2的action配置中,OGNL表达式用于引用请求作用域中的变量。当我们在`ognlAction_`命名空间下的action方法中设置`msgxx`属性后,`<s:property value="#parameters.msg[0]"/>`这段JSP代码则展示了如何在页面上显示该值。这里,`#parameters`代表HTTP请求参数,`msg`是通过OGNL动态计算的,从而实现了数据的动态绑定。
Struts 2作为一个MVC(Model-View-Controller)框架,相比Struts 1有显著的优势,包括:
- **解耦设计**:Struts 2不再像Struts 1那样紧密依赖Servlet API和Struts API,这使得应用更加灵活且易于维护,避免了侵入式设计带来的限制。
- **拦截器机制**:Struts 2引入了拦截器,使得面向切面编程(AOP)成为可能,有助于实现诸如权限控制这样的业务逻辑。
- **类型转换器**:Struts 2内置了类型转换功能,无需像Struts 1那样自定义转换器,简化了数据处理过程。
- **多表现层支持**:Struts 2支持多种视图技术,如JSP、FreeMarker、Velocity等,提高了开发者的灵活性。
- **输入验证改进**:Struts 2的输入验证更为精细,可以针对特定方法进行校验,解决了Struts 1中全局验证的局限性。
尽管Struts 2在名称上与Struts 1相似,但实际上它是基于WebWork进行重构的,更像是WebWork的现代化版本。从Struts 1升级到Struts 2时,开发者需要注意调整原有的代码结构,理解新的配置方式,并利用OGNL表达式的优势来提升应用的灵活性和性能。
2007-09-11 上传
2010-04-07 上传
2019-06-01 上传
2023-06-02 上传
2023-05-17 上传
2024-05-28 上传
2023-07-13 上传
2023-06-06 上传
2023-07-29 上传
三里屯一级杠精
- 粉丝: 32
- 资源: 2万+
最新资源
- 最优条件下三次B样条小波边缘检测算子研究
- 深入解析:wav文件格式结构
- JIRA系统配置指南:代理与SSL设置
- 入门必备:电阻电容识别全解析
- U盘制作启动盘:详细教程解决无光驱装系统难题
- Eclipse快捷键大全:提升开发效率的必备秘籍
- C++ Primer Plus中文版:深入学习C++编程必备
- Eclipse常用快捷键汇总与操作指南
- JavaScript作用域解析与面向对象基础
- 软通动力Java笔试题解析
- 自定义标签配置与使用指南
- Android Intent深度解析:组件通信与广播机制
- 增强MyEclipse代码提示功能设置教程
- x86下VMware环境中Openwrt编译与LuCI集成指南
- S3C2440A嵌入式终端电源管理系统设计探讨
- Intel DTCP-IP技术在数字家庭中的内容保护