转:Struts Validator一時的粗心大意

一天,心血來潮的想把Struts Validator驗證改成後端來做 原來的code 修改後的code 其實我只是把 DynaActionForm 換成 DynaValidatorForm 再來修改action 將 validate 改成true 好了server 重起!! 結果跳出

?[RequestUtils] Error creating form bean of class org.apache.struts.action.DynaValidatorForm java.lang.NullPointerException at org.apache.struts.config.FormBeanConfig.createActionForm(FormBeanConfig.java:214) at org.apache.struts.util.RequestUtils.createActionForm(RequestUtils.java:294) at org.apache.struts.util.RequestUtils.createActionForm(RequestUtils.java:193)

弄了老半天,struts config 改來改去 還是不行!!! 找出 [RequestUtils] 的DOC來看,也是看不出個所以然!! 好吧!!只找繼續往下找,把FormBeanConfig.java 214 行翻出來看!!

211 if (getDynamic()) {
212 obj = getDynaActionFormClass().newInstance();
213 } else {
214 obj = formBeanClass().newInstance();
215 }

耶~~NullPointerException 該不會是說formBeanClass() 這個東東吧!!

繼續追下去!! 看看到底是誰 弄了個NULL回來!!

protected Class formBeanClass() {
ClassLoader classLoader = Thread.currentThread().getContextClassLoader(); if (classLoader == null) {
classLoader = this.getClass().getClassLoader();
} try {
return (classLoader.loadClass(getType()));
}catch (Exception e) {

return (null); <========這裡非常的可疑!!!
}
}

就給它用e.printStackTrace(); 印出來好了!! 結果出現了 java.lang.ClassNotFoundException: org.apache.struts.action.DynaValidatorForm 原來是 org.apache.struts.action.DynaValidatorForm 這傢伙找不到,怎 會!!!趕快把!!DOC 打開來看看!!靠!!果然沒有~~
最後終於在 org.apache.struts.validator 這裡面找到了~~將form-bean 的type 改成 org.apache.struts.validator.DynaValidatorForm一切就正常了!!

這個故事告訴我們,看書照抄時,眼睛一定要睜大點,不然就得提升自己Debug的能力~~另外Struts也真是的,如果一開始就 扔個ClassNotFoundException回來~不就好了嗎??真是夠了!! 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值