Struts2的Convention插件的作用:
在Struts2中的/lib/struts2-convention-plugin-x.x.xx.x.jarConvention插件会自动搜索位于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.MenuActionConventions插件允许设置如下三个常量:struts.convention.exclude.packages:指定不扫描那些包下的Java类,位于这些包结构下的Java类将不会被自动映射为Actionstruts.convention.package.locators:Convention插件使用该变量指定的包作为搜索Action的根包。对于actions.manager.LoginAction类,按照约定原本会映射成/manager/login;如果将该常量设置为“manager”,则该Action将会映射到/login。struts.convention.action.packages:Convention插件以该常量指定包作为根包来搜索Action类。Convention插件除了扫描action,actionsstruts,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