以前太懒,现在突然又感兴趣了。刚学一周,编了一个简单的用户登录认证程序,结果发现当不输入用户名或密码时不报错,断点走后,发现,ActionForm里写的是if (userNmae == null),而表单不传值,usrName也不是null,而是“”,所以不报错,纠正的方法是加上 ||userName.length() < 1。
这个问题解决了,validate是过了,可是发现程序怎么也走不到Aciton里面,查了下web.xml和struts-config.xml,发现一点问题都没有,Action也没啥事啊,怎么回事,单步执行,过了ActionForm,但怎么也走不到Action里面,程序就在那放着,郁闷啊。结果今天狠下来,直接拷贝了个最简单的Action,然后自己在上面修改,抱抱试试看的态度一运行发现好使,这是怎么回事呢。比来比去发现没什么问题,算了本来就不相信自己的眼睛,拿了Winmerge后来才发现我的重载方法名叫excute(应该是execute),程序以为是自己类加的新方法,就没提示什么错误警告了我冤啊。
写下来给新学的看看,别跟我一样。虽然有些幼稚大家别喷啊

解决方案 »

  1.   

    一样的,确实是些常犯的错误,比如搞不清回传的String是“”还是null,比如拼错execute而导致struts2架构无法映射调用等等。往往花费时间较多的都是这些粗心或基础方面的问题。
    还有一些常犯的比如el表达式写错,配置错误等等,还有就是默认在execute方法内出runtimeException时好像是显示在页面而不是在控制台上,假如此时再用上ajax时就更不知道怎么回事了。