Struts2 Convention插件注解使用详解与配置

需积分: 3 1 下载量 197 浏览量 更新于2024-09-13 收藏 241KB DOC 举报
Struts2注解的使用在Struts2框架的版本升级(从2.1开始)后发生了显著变化,尤其是在零配置支持方面。之前推荐的Codebehind插件逐渐被Convention插件取代,后者提供了更为简洁且无需大量配置的开发体验。 Convention插件的核心理念是基于约定优于配置的原则,这意味着Struts2框架会根据类的定义和命名规则自动识别并配置Action。以下是如何在Struts2中使用Convention插件的关键步骤: 1. **添加插件依赖**: 将struts-Convention-plugin-2.1.6.jar文件放置在项目Web-INF/lib目录下,确保应用能够访问到该插件。 2. **自动扫描Action类**: Convention插件会自动查找位于action、actions、struts、struts2这四个默认包下的Java类。它识别两个类型的类作为Action处理: - 所有实现`com.opensymphony.xwork2.Action`接口的类。 - 类名以"Action"结尾的类。 3. **配置选项**: - `struts.Convention.exclude.packages`: 可以通过这个常量指定不扫描特定包下的类,防止意外的Action映射。 - `struts.convention.package.locators`: 设置此常量来指定根包,用于查找Action。例如,将`fore.LoginAction`的默认路径从`/fore/login`改变到`/login`,只需要更改该常量的值。 - `struts.convention.action.packages`: 指定额外的根包来寻找Action,扩展了默认的扫描范围。 4. **命名空间与路径映射**: 类所在的包及其命名方式决定了Action在URL中的映射路径。例如,如果一个Action类在`com.fun.action`包下,那么按照约定,它的URL可能会映射为`/fun/*`或类似路径。 5. **注意事项**: 使用`struts.convention.package.locators`和`struts.convention.action.packages`时需谨慎,因为它们可以影响Action的查找和映射,不当使用可能导致意料之外的结果。 Struts2的Convention插件简化了Action的配置过程,通过自动扫描和基于类名规则的映射,使得开发人员能更专注于业务逻辑。理解和熟练掌握这些配置选项,有助于提高开发效率和代码的可维护性。