转自:http://chenjumin.iteye.com/blog/668389
1、常量说明
struts.convention.result.path="/WEB-INF/content/": 结果页面存放的根路径,必须以 "/" 开头。
struts.convention.action.suffix="Action": action名字的获取
struts.convention.action.name.lowercase="true": 是否将Action类转换成小写
struts.convention.action.name.separator="-":
struts.convention.action.disableScanning="false": 是否不扫描类。
struts.convention.default.parent.package="convention-default":设置默认的父包。
struts.convention.package.locators="action,actions,struts,struts2": 确定搜索包的路径。
struts.convention.package.locators.disable="false":
struts.convention.package.locators.basePackage="":
struts.convention.exclude.packages="org.apache.struts.*,org.apache.struts2.*,org.springframework.web.struts.*,org.springframework.web.struts2.*,org.hibernate.*": 排除哪些包不搜索。
struts.convention.relative.result.types="dispatcher,velocity,freemarker": 默认返回的结果类型搜索。
struts.convention.result.flatLayout="true": 是否结果类型作为文件名的一部分。假如结果返回值为error,则true时为hello_world_error.jsp,false时为hello_world/error.jsp。
struts.convention.classes.reload="false" : struts.convention.action.mapAllMatches="false":
struts.convention.action.checkImplementsAction="true":
struts.mapper.alwaysSelectFullNamespace="true":
struts.convention.redirect.to.slash="true":
struts.convention.action.alwaysMapExecute="true":
struts.convention.action.fileProtocols="jar" :
2、默认约定
Action名的映射:去掉Action后缀,单词之间加中画线,单词首字母变小写。比如TestFormAction类对应的Action名为test-form。
Action类的包路径转为其命名空间路径,命名空间路径转为URL路径。比如com.cjm.action.card.sim.SimCardInputAction,则其命名空间为/card/sim,Action名为sim-card-input。
Action类的包路径转为结果页面的存储目录,查找结果页面的约定:
找action名-result名.jsp,找不到
找action名.jsp,找不到
找action名-result名.action
3、注解
1)@ResultPath:设置结果页面位于哪里,用于覆盖默认值。默认值由struts.convention.result.path常量设定。
@ResultPath("/WEB-INF/pages")
2)@Namespace:设置action的URL路径,用于覆盖默认值
@Namespace("/")