如何设置修改struts.xml文件的默认位置(2种方法)

来源:互联网 发布:单片机控制直流电动机 编辑:程序博客网 时间:2024/05/18 02:44
struts.xml的默认存放路径是在/WEB-INF/classes目录下,也就是说,把struts.xml放在源码src的目录下。
但是有时,我们为了方便,希望把它放到其他位置。 
 
首先我们要明白struts2加载配置文件都是从它自己的jar包和\WEB-INF\classes两个默认的位置加载的。
如果要修改struts2.x配置文件的存放位置,需要几个步骤: 

1,web.xml配置过虑器的时候,在原有的filter中加入一个init-param标签,具体配置如下: 
<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/struts.xml </param-value> 
</init-param> 
</filter>  
这里需要注意的是,如果你设置了<param-name>config</param-name>参数,
那么struts-default.xml等原来struts2默认加载的文件你也要指定,否则它好像不会自动加载,会出错。
而struts-plugin.xml,也要放在这里,是因为在struts2使用2.1.6版本时,仔细查看了一下struts2-spring-plugin-2.1.6.jar(如果需要和spring集成的话)中有struts-plugin.xm这个文件,
另外json-plugin-0.34.jar(如果struts2要支持json的话,需要这个jar)中也有一个叫struts-plugin.xm的文件。因此这个文件也是要加载的。
最后,是struts.xml文件,这里必须采用相对\WEB-INF\classes的相对路径。
如果不在这里配置struts-default.xml,struts-plugin.xml,也可以在struts.xml文件中添加<include file="struts-plugin.xml"></include>
和<include file="struts-plugin.xml"></include>来代替。  

2,在struts.xml文件中,可以使用<include file="..."/>标签添加其他的子配置文件,自配置文件的地址是相对于\WEB-INF\classes的。假如你的子配置文件的路径是/WEB-INF/classes/aa/bb/cc/struts-config.xml的话,file属性的值应该写:aa/bb/cc/struts-config.xml。
0 0
原创粉丝点击