Struts2教程:Action详解与使用

需积分: 0 0 下载量 144 浏览量 更新于2024-07-17 收藏 3.82MB PDF 举报
"这篇博客主要介绍了Struts2框架中的核心组件Action的相关知识,包括Action在Struts1和Struts2中的区别,以及如何在Struts2中使用Action进行业务处理。此外,还提到了Action中获取Servlet对象的方法,以及Struts2的转换与校验机制。" 在Struts2框架中,Action扮演着非常关键的角色,它是业务逻辑和视图层之间的桥梁。与Struts1.x相比,Struts2的Action设计更为灵活,不再强制要求Action类必须继承特定的Action接口,而是可以选择性地扩展`ActionSupport`类。`ActionSupport`提供了默认的行为,如错误和消息管理,以及对国际化支持。 在Struts2中,表单数据不再像Struts1那样封装在单独的FormBean中,而是直接包含在Action类中,通过getter和setter方法来访问和设置。例如,在`HelloAction`示例中,定义了一个名为`name`的属性,用于接收页面表单的输入值。 Action中获取Servlet对象的方式有两种:非IoC(Inversion of Control)方式和IoC方式。在非IoC方式中,可以通过`ServletActionContext`获取`ServletContext`,而在IoC方式下,可以通过依赖注入(Dependency Injection)由容器自动提供Servlet对象。 转换与校验(Conversion & Validation)是Struts2中重要的功能,它可以帮助开发者处理用户输入的数据。Struts2提供了内置的转换器和校验器,可以自定义或者使用预定义的验证规则。配置文件查找顺序通常是先查找类路径下的struts.properties,然后是struts-default.xml,最后是用户自定义的struts.xml。Struts2还包含了一些内置的校验器,如required、int、double等,这些校验器可以很方便地应用于表单字段的验证。 Struts2的Action模型更加面向对象,更易于维护和扩展。理解并熟练掌握Action的使用,对于开发基于Struts2的Web应用至关重要。同时,转换与校验机制则为保证数据的正确性和一致性提供了保障。