先前用Struts和Hibernate做过一个小项目,系统重装,再次架起项目发现报此异常,检查了半天也不知道错误何在,google搜索,找到一篇跟自己问题差不多的贴子
http://topic.csdn.net/u/20070730/09/afaeb61b-88cd-4c51-a90f-ad5a6ca06f91.html
很多人回帖,楼主最后来了一句:问题找到了,是我自己太蠢,谢谢大家,送分
后面还有很多遇到相同的问题的人跟帖请楼主说出问题所在,可楼主此时已一去不还
很不幸我今天也遇到了这个变态问题,各论坛的解决方案,哪怕是英文的,我也硬着头皮都读了,classes目录下一切正常,依然不能解决....
最终痛定思痛,把细节上的配置也都各试了一遍,最终找出了问题,确切地说,是个bug吧
在action中,配置与之相关联的actionform的时候,一般设置name属性就OK了,但在bug的情况下,这是会报如题的异常的,此时只要设置一下action的attribute属性即可解决,事后删掉attribute属性也不会有影响,为什么会这样呢?
struts在创建actionform的时候,是根据attribute来取得,mapping.getAttribute();存入scope中,而没有attribute值时,会自动去取name的,至于 为什么在该项目中没有自动取name的值,我就不得而知了,姑且认为它是bug吧
在此鄙视上面所发链接的帖子的作者zeibiren
果然人如其名