今天开始学习Struts2,看着视频学,在学到Struts2的action的配置时,遇到一个问题,即标题所示,找了一个多钟的错,才发现哪里出错了。
/**
*我在测试Struts动态方法调用,用感叹号方式(需要开启),官网不推荐使用这种方式,建议大家不要使用.
*用这种方式需要先开启一个开关
*/
There is no Action mapped for namespace [/] and action name [****] associated with context path [/Struts02].
上网搜了一下,很多新手也是都遇到过这个问题,因为出错的地方不同,所以解决方法有几个:
1,确定struts.xml,web.xml两个文件的每个属性都写对了,单词没有拼错?不行就重新敲。
2,确定struts.xml文件放在项目的src文件夹下,不要把这个xml文件放到其他包里。
3,确定不用action时你的页面可以正常访问。有时候问题是出在其他地方的。
4,还有一个是有可能WEN-INF下面没有classes文件夹,或者classes里面没有这个struts.xml文件,不过现在的IDE一般在发布时都会自动生成这个文件的。
如果上面的都对的话,那么有可能你的错误跟我的是一样的了,23333
那么问题来了,我怎么解决我的错误呢,我发现我看得视频是2012年录的,所以可能struts更新后一些配置改变了,视频里没有提到说要在
struts.xml里面加
<constant name="struts.enable.DynamicMethodInvocation" value="true" />
看到这个true是你就知道某个属性没有开启了,关于这个属性的作用,可以自行去查看帮助文档。
然后问题就解决了。。。
总结一下:找错需要耐心!特别是学习新的知识。
最后,如果还有什么解决方法欢迎提出来一起交流,我也在学习中
guin_guo@yahoo.com