日期:2014-05-20  浏览次数:20926 次

如何指定struts2配置文件的路径?
如何指定struts2配置文件的路径?
如题,我现在在用MyEclipse搭框架,想把所有的的配置文件都放在web-inf/cfg/目录下的,这样好统一管理.
看见书上写可以使用init param配个config参数的,然后指定配置文件的目录.但试了n久都没成功,老报空指针异常.....
把那个config参数去掉,再把struts.xml文件放到src目录就又好了......郁闷.

<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
<init-param>
<param-name>config</param-name>
<param-value>WEB-INF/cfg/struts.xml</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</filter>
------解决方案--------------------
在搭建的时候  会让你选择配置文件的目录啊  你选下就可以了!!
------解决方案--------------------
在搭建的时候???你的意思是MyEclipse有 struts2 的插件了??
------解决方案--------------------
URL没学好吧,
<param-value>WEB-INF/cfg/struts.xml</param-value>
WEB-INF前面要加/改成
<param-value>/WEB-INF/cfg/struts.xml</param-value>
------解决方案--------------------
引用:
URL没学好吧, 
<param-value>WEB-INF/cfg/struts.xml </param-value> 
WEB-INF前面要加/改成 
<param-value>/WEB-INF/cfg/struts.xml </param-value>

顶起,楼主servlet学的不怎么好吧,建议加强下
------解决方案--------------------
同志,其实,两种方式我都试过了,都不行的...
------解决方案--------------------
<param-value>../cfg/struts.xml </param-value>
加载时是用的类中的路径,所以根目录是WEB-INF/classes,所以要向上一层才能找到。不过还是建议楼主把配置文件放到src下,要不在struts.xml中include其它配置文件的时候每个都要写../,影响可读性
------解决方案--------------------
web.xml 

Xml代码  
<?xml version="1.0" encoding="UTF-8"?>  
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"  
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee   
    http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">  
  
    <!-- struts2 -->  
    <filter>  
        <filter-name>struts2</filter-name>  
        <filter-class>  
            org.apache.struts2.dispatcher.FilterDispatcher  
        </filter-class>  
        <init-param>  
            <param-name>config</param-name>  
            <param-value>../struts2conf/struts.xml</param-value>  
        </init-param>  
    </filter>  
    <filter-mapping>  
        <filter-name>struts2</filter-name>  
        <url-pattern>/*</url-pattern>