关于Struts2注解配置的若干注意点
1、根据所用的struts2具体版本导入struts2-convention-plugin-2.3.1.1.jar;
2、如果启动时报错,根据相关日志定位错误,比如NoSuchMethod,可能就是因为缺少相应jar包。我所用struts2的jar包如下(asm、commons-lang是根据错误后来才加上):
asm-3.3.jar
asm-commons-3.3.jar
asm-tree-3.3.jar
commons-fileupload-1.2.2.jar
commons-io-2.0.1.jar
commons-lang-2.5.jar
freemarker-2.3.18.jar
ognl-3.0.3.jar
struts2-convention-plugin-2.3.1.1.jar
struts2-core-2.3.1.1.jar
struts2-spring-plugin-2.3.1.1.jar
xwork-core-2.3.1.1.jar
3、配置struts.xml文件:
<!-- 相当于普通xml配置中的extends,指定默认的继承包 --> <constant name="struts.convention.default.parent.package" value="struts-default" /> <!-- 结果资源所在路径,这个地方要注意,详见下面解释 --> <constant name="struts.convention.result.path" value="/jspPage" /> <!-- 指定以那些后缀结尾的java类package包被搜索,以发现注解 --> <constant name="struts.convention.package.locators" value="web,action" />
如果配置了struts.convention.result.path,则在使用@Action的@result注解的时候,location一项如果加上了“/”,则该配置不生效:比如location="/jsp/login",则将在项目根目录下,jsp文件夹下寻找login.jsp的页面;location="login"则将会直接在配置项的"/jspPage"目录下寻找login.jsp页面。
备注:其它可详见博客们。