Struts2默认位置改变
首先我们要明白struts2加载配置文件都是从它自己的jar包和\WEB-INF\classes两个默认的位置加载的,如果你想改变strusts2中的文件的默认加载路径,可以在web项目的web.xml配置过滤器的时候指定。
如<filter> <filter-name>struts2</filter-name> <filter-class> org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter </filter-class> <init-param> <param-name>config</param-name> <param-value>struts-default.xml,struts-plugin.xml,../STRUTS-XML/struts.xml </param- value> </init-param> </filter>
这里是通过相对位置(相对于\WEB-INF\classes目录,”..”后退退到WEB-INF目录);
如果把struts.xml放在 src\STRUTS-XML\struts.xml 中,这时既可以使用相对路径,又可以使用绝对路径 ,分别如下:绝对路径(这时“/”就是相当于classes目录):
struts-default.xml,struts-plugin.xml,/STRUTS-XML/struts.xml
相对路径:(这时是相对于\WEB-INF\classes目录)
struts-default.xml,struts-plugin.xml,STRUTS-XML/struts.xml
要注意的是,如果你设置了config参数,那么struts-default.xml等原来struts2默认加载的文件你也要指定,否则它好像不会自动加载,会出错,也可以加载到struts.xml中()
另外 struts-default.xml,struts-plugin.xml 是不用特殊指定的,在struts.xml里可以include 其他的struts.xml 而struts.xml 主要是进行一些配置的(比如字符类型等)
- 还有一种方式就是讲struts*.xml放入Source目录下,这样就可以了。