Struts2 Convention插件详解与使用

需积分: 9 7 下载量 80 浏览量 更新于2024-09-18 1 收藏 53KB DOC 举报
"Struts2注解使用说明文档" Struts2框架自2.1版本开始,引入了Convention插件,以替代Codebehind插件,实现更简便的零配置功能。Convention插件的核心理念是通过约定优于配置的方式,自动解析和配置Action类,避免手动编写struts.xml配置文件。这种机制使得开发变得更加灵活且高效。 使用Convention插件的基本步骤如下: 1. 首先,需要将`struts-Convention-plugin-2.1.6.jar`库文件添加到项目的`WEB-INF/lib`目录下,以启用该插件。 2. Convention插件会自动扫描特定的包下所有的Java类,寻找Action。默认情况下,它会查找`action`、`actions`、`struts`和`struts2`包下的类。如果一个类实现了`com.opensymphony.xwork2.Action`接口,或者类名以"Action"结尾,那么这个类就会被视为Action。 3. 为了更精细地控制插件的行为,可以设置以下三个系统常量: - `struts.Convention.exclude.packages`:这个常量用于指定不应被扫描的包,位于这些包下的类不会被自动映射为Action。 - `struts.convention.package.locators`:此常量定义了搜索Action的根包。例如,如果将值设为`fore`,那么原本映射到`/fore/login`的`actions.fore.LoginAction`会被映射到`/login`。 - `struts.convention.action.packages`:此常量用于指定额外的包,除默认的四个包外,Convention插件还会在这个或这些包中寻找Action类。 在实际应用中,开发者需要注意`struts.convention.package.locators`和`struts.convention.action.packages`这两个常量的设置,因为它们会影响到Action的命名空间映射。例如,如果Action类位于`com.fun.action`包下,那么其对应的命名空间将根据这些常量的值来确定。 通过这种方式,Struts2的注解使用变得更为简洁,开发者可以专注于业务逻辑,而无需过多关注配置细节。然而,这也意味着需要对Struts2的约定规则有深入理解,以便更好地控制Action的映射和执行流程。在某些复杂场景下,可能仍然需要使用传统的注解或配置文件来进行更精确的配置。