在struts2中,新建的struts.xml文件一般在src目录下面,今天试着把struts.xml文件放到WEB-INF下面,我是这样写的:
<filter>
<!-- 定义核心Filter的名字 -->
<filter-name>struts2</filter-name>
<!-- 定义核心Filter的实现类 -->
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
<init-param>
<param-name>config</param-name>
<param-value>struts-default.xml,struts-plugin.xml,../struts-configs/struts.xml</param-value>
</init-param> </filter>
在部署的时候,没有出现任何错误。就是当我在访问以前的Action的时候,出现“There is no Action mapped for action name uiAction.”这样的错误!我把struts.xml放到src下面时,访问Action是没有问题的啊!难倒struts.xml文件的位置改变的时候,访问的路径也要改变吗??我感觉没有必要啊!有经验的高手请指教一下啊!O(∩_∩)O谢谢了!
<filter>
<!-- 定义核心Filter的名字 -->
<filter-name>struts2</filter-name>
<!-- 定义核心Filter的实现类 -->
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
<init-param>
<param-name>config</param-name>
<param-value>struts-default.xml,struts-plugin.xml,../struts-configs/struts.xml</param-value>
</init-param> </filter>
在部署的时候,没有出现任何错误。就是当我在访问以前的Action的时候,出现“There is no Action mapped for action name uiAction.”这样的错误!我把struts.xml放到src下面时,访问Action是没有问题的啊!难倒struts.xml文件的位置改变的时候,访问的路径也要改变吗??我感觉没有必要啊!有经验的高手请指教一下啊!O(∩_∩)O谢谢了!
也许你会问为什么没有struts1那样灵活配置.? 这个你得去问webwork/struts2开发团队了,去问问他们为什么要把这个路径和文件名在源码中写死了
....
难 道 你 把 一 个 文 件 从 C 盘 移 动 到 D 盘 , 你 还 能 从 C 盘 找 到 这 个 文 件 吗?
除 非 你 是 全 盘 搜 索 文 件 名, 但 是 相 当 影 响 性 能,而 指 定 路 径 并 没 有 多 大 的 代 码 开 销,所 以 sturts 不 会 这 么 干。其他的原因5楼回答的很详细了,关于struts2我也只是了解的程度
除 非 你 是 全 盘 搜 索 文 件 名, 但 是 相 当 影 响 性 能,而 指 定 路 径 并 没 有 多 大 的 代 码 开 销,所 以 sturts 不 会 这 么 干。
UP
中导入即可
我觉得配置文件不灵活是struts2的一个败笔阿!
早src的struts.xml编译的时候会生成到WIN-INF/class下,在运行项目的时候也是去WIN-INF/class下去找,我认为struts.xml在src下是为了开发者方便编辑,没什么这不好那不好的.