Struts2中Wrapper的应用:整合JSTL与OGNL
需积分: 9 89 浏览量
更新于2024-08-18
收藏 369KB PPT 举报
在Struts2框架中,Wrapper是一种关键的设计模式,主要用于简化和增强请求处理过程,尤其是在将现有的基于Servlet的系统迁移到Struts2时。Wrapper在Struts2中的主要应用体现在其对HttpServletRequest对象的包装上,通过StrutsRequestWrapper实现了对原始请求的扩展和适配。
首先,当公司需要将基于servlet的系统升级到Struts2时,可能会遇到前后端分离的问题。原来的前台页面可能大量使用了OGNL表达式进行数据绑定和动态展示。然而,Struts2更倾向于使用标签库(如JSTL)进行页面编程。为了保持前端的相对不变,避免大规模的代码重构,Struts2引入了Wrapper机制,允许使用OGNL的同时兼容JSTL标签。
Struts2采用的包装模式允许我们在不修改原有页面的情况下,通过将对象放入valueStack(值栈)中,使页面能够利用JSTL表达式访问这些数据。例如,StrutsRequestWrapper类作为HttpServletRequest的装饰器,封装了getAttribute方法,当页面试图获取请求属性时,会按照以下步骤操作:
1. 首先,从原始请求中查找指定键对应的值。
2. 如果该值存在,直接返回;否则,如果包装器中存在该键,则返回包装器内部的值。
3. 这样,即使在Struts2的上下文中,用户仍然可以使用OGNL或JSTL来访问原本由servlet处理的数据。
此外,Struts2还提供了其他类型的包装,如MultiPartRequestWrapper,它处理multipart/form-data类型的请求,确保了不同类型的请求能够被正确处理。
Wrapper在Struts2中的应用极大地简化了迁移过程,使得系统能够在保留旧有页面的基础上无缝升级到新的框架。这不仅减少了代码的重构工作量,而且提升了系统的可维护性和灵活性。通过理解Struts2如何包装请求,开发者可以更好地利用Struts2的特性,提升项目的整体架构质量。
2019-03-06 上传
2010-02-11 上传
2021-04-26 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
涟雪沧
- 粉丝: 22
- 资源: 2万+
最新资源
- Java编程规范(上课的课件,写得很详细)分享下
- Matlab6.0图形图像处理函数
- proteus常用元件中英文对照表
- C#程序设计必看书籍
- 很不错的制作安装程序详解
- 高级SQL查询语言(适合有基础的sql程序员)
- IEEE802.15.4协议安全模式的软硬件协同设计
- Linux的shell好比DOS的COMMAND.COM,
- Oracle9i Database Administration
- CAN总线协议与总线分析.doc
- OracleProc编程
- ubuntu部落-ubuntu使用入门
- 数据结构单链表4个函数
- can_intro.pdf
- linux 虚拟内存
- 飞思卡尔BDM for S12(TTBDM)