Struts2 框架与 OGNL 操作集合详解

需积分: 0 0 下载量 57 浏览量 更新于2024-08-17 收藏 1.73MB PPT 举报
"ognl操作集合-struts 2应用2" 在Struts2框架中,OGNL(Object-Graph Navigation Language)是一种强大的表达式语言,用于访问和操作对象图。本资源主要关注如何使用OGNL操作集合,如List和数组,并在Action类和JSP页面中展示其使用方式。 首先,让我们深入理解Struts2框架的核心概念。Struts2是一个基于Model-View-Controller(MVC)架构的Java Web应用程序框架,旨在简化开发过程并提供一系列解决方案,如页面导航管理、输入验证、统一布局、可扩展性、国际化和本地化,以及Ajax支持等。相比Struts1,Struts2具有显著的优势,包括非侵入式设计、拦截器机制、类型转换器、多视图技术支持以及更灵活的数据验证机制。 在Struts1中,Action类通常需要继承自`Action`基类,并实现`execute`方法,这使得框架与ServletAPI和StrutsAPI紧密耦合。而在Struts2中,Action类不再需要直接继承特定基类,这是其非侵入式设计的一个体现,使得应用更加灵活,不依赖特定的API。 Struts2引入了拦截器(Interceptor),这是一种强大的特性,允许开发者实现AOP(面向切面编程),如权限控制、日志记录等功能。拦截器链可以在执行Action之前或之后执行自定义逻辑,提高了代码的可复用性和模块化。 类型转换器是Struts2的另一大亮点。它自动处理了请求参数到业务对象属性的转换,减轻了开发者的工作负担。在Struts1中,要实现类似功能,开发者需要注册自定义的类型转换器到`BeanUtils`。 Struts2还支持多种视图技术,如JSP、FreeMarker和Velocity等,这赋予了开发者更多的选择,可以根据项目需求选择最适合的模板引擎。 数据验证方面,Struts2允许对特定Action方法进行验证,提供了全局、包级以及Action级的国际化资源文件管理,使得验证错误消息可以更加方便地进行本地化。 当从Struts1迁移到Struts2时,需要注意Struts2并不是Struts1的简单扩展,而是基于WebWork框架重新构建的。迁移过程可能涉及到Action类重构、配置文件调整、拦截器和验证规则的设置等。 在示例中,Action类中定义了一个名为`allList`的ArrayList,然后在JSP页面中使用OGNL表达式`<s:property value="allList.size"/>`来显示集合的长度。这展示了OGNL在获取和显示对象属性方面的便利性。 总结来说,本资源探讨了Struts2框架中使用OGNL操作集合的方法,以及Struts2相较于Struts1在设计、功能和灵活性上的改进。通过学习这些内容,开发者可以更好地掌握Struts2框架,提高开发效率和应用质量。