Struts2的Convention插件

Struts2的Convention插件的作用:
在Struts2中的/lib/struts2-convention-plugin-x.x.xx.x.jar

Convention插件会自动搜索位于action,actions,struts,struts2包下的所有类,即它会把如下两种的Java类当初Action处理:
    所有实现了com.opensymphony.xwork2.Action的Java类
    所有类名为Action结尾的Java类

例如:
    com.app.action.LoginAction
    com.app.actions.MenuAction
    com.app.struts.LoginAction
    com.app.struts2.MenuAction
Conventions插件允许设置如下三个常量:
struts.convention.exclude.packages:指定不扫描那些包下的Java类,位于这些包结构下的Java类将不会被自动映射为Action
struts.convention.package.locators:Convention插件使用该变量指定的包作为搜索Action的根包。对于actions.manager.LoginAction
类,按照约定原本会映射成/manager/login;如果将该常量设置为“manager”,则该Action将会映射到/login。
struts.convention.action.packages:Convention插件以该常量指定包作为根包来搜索Action类。Convention插件除了扫描action,actions
struts,struts2四个包中的类外,还会扫描该常量指定的一个或多个包,Convention会试图从中发现Action类。

Convention映射举例如:
    com.app.action.LoginAction  映射到/
    com.app.struts.LoginAction  映射到/
    com.app.actions.books.PayAction 映射到/books      
    com.app.struts.books.buy.PayAction 映射到/books/buy  

原文地址:https://www.cnblogs.com/liaojie970/p/5122433.html