zoukankan      html  css  js  c++  java
  • 改变 struts2 中 struts.xml 默认路径 (转)

    原文出处:http://blog.163.com/wunan_23/blog/static/1955623202011102105925798/

    struts2.x配置文件的默认存放路径是在/WEB-INF/classes目录下,也就是说,把struts.xml放在src的目录下。
    但是有时,我们为了方便,希望把它放到其他位置,这里简单介绍一下处理的方法。 

    首先我们要明白struts2加载配置文件都是从它自己的jar包和WEB-INFclasses两个默认的位置加载的。
    如果要修改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-INFclasses的相对路径。我这里是放在了WEB-INFclassesstruts目录下。  
    如果不在这里配置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-INFclasses的相对路径,和struts.xml是一样的。假如你的子配置文件的路径是
    /WEB-INF/classes/aa/bb/cc/struts-config.xml的话,file属性的值应该写:aa/bb/cc/struts-config.xml。  
     
    最后,如果可以的话,可以使用struts.xml文件在默认路径,<include file="..."/>使用相对路径添加放在其他位
    置的子配置文件。
  • 相关阅读:
    谈谈Nullable<T>的类型转换问题
    MiniProfiler使用方法
    捕获变量
    web服务相关的问题或技巧
    对接mysql数据库遇见的一些问题
    委托
    导出到Excel
    斐波那契数列的运算时间
    .net framework摘抄与理解
    sql 语句
  • 原文地址:https://www.cnblogs.com/m3Lee/p/3899183.html
Copyright © 2011-2022 走看看