Struts2入门教程:Action、Result和ValueStack解析

需积分: 3 8 下载量 85 浏览量 更新于2024-08-01 收藏 3.28MB PPT 举报
"Struts2基础教程涵盖了框架的核心概念,如Action、Result和ValueStack,适合初学者学习。Struts2结合了WebWork的核心技术,实现了MVC模式,并使用拦截器来处理用户请求。Action是Struts2的核心组件,它可以是简单的JavaBean,通过Action属性封装表单数据。此外,Struts2不依赖Servlet API,允许Action独立于Web容器运行,每个请求都会创建一个新的Action实例,避免了线程安全问题。框架内部使用OGNL作为表达式语言,替代了JSP中的EL。在Action类中,开发者可以定义多个执行方法,如execute()、toMethod()、doMethod()等。通过ActionContext,开发者可以方便地在Request和Session之间传递数据。配置文件主要有struts.xml和struts.properties,前者用于配置Action、Result和拦截器,后者用于全局配置。struts.xml通常放在src目录下,而使用多个配置文件或改变其位置,则需在web.xml中指定FilterDispatcher的初始化参数。" Struts2是一个强大的MVC框架,它的核心是基于WebWork设计的,这使得它能够提供更加灵活和强大的功能。XWork是Struts2的基础,提供了许多核心机制,如类型转换、拦截器和对象图形导航语言(OGNL)。Struts2的Action组件是处理用户请求的关键,它可以是一个简单的Java类,只需要实现一个或多个执行方法。这些方法通常返回字符串,字符串值决定了请求的流向,即Result。 Action属性可以绑定到表单字段,使得Struts2能够自动将HTTP请求的数据封装到Action对象中。这种特性简化了数据处理和验证的过程。由于每个请求都对应一个新的Action实例,因此开发者无需担心线程安全问题。此外,Struts2框架的非侵入性设计意味着Action类不直接依赖于Servlet API,可以独立于Web容器运行。 OGNL(Object-Graph Navigation Language)是Struts2中的表达式语言,用于在Action对象和视图层之间传递数据,它比JSP的EL(Expression Language)更为强大,支持更复杂的对象导航和表达式。 在配置方面,`struts.xml`是主要的配置文件,用于定义Action的映射、Result的类型以及拦截器栈。`struts.properties`则用于设置全局属性,比如错误消息的国际化、日期时间格式等。如果需要使用多个配置文件或者更改默认配置文件的位置,可以在`web.xml`中配置FilterDispatcher的`config`参数,列出所有需要加载的配置文件路径。 理解并熟练掌握这些基础知识,对于开发基于Struts2的Web应用至关重要,它能帮助开发者快速构建可维护、可扩展的应用程序。在实际项目中,还需要学习如何编写拦截器、结果类型、自定义标签库以及如何与Spring等其他框架集成,以提升应用的功能和性能。