java.lang.IllegalArgumentException: Resources cannot be null

本文解决了一个在使用Struts框架时遇到的非法参数异常问题,主要涉及检查struts-config.xml配置、ActionForm类继承及validate方法的正确使用。通过分析错误堆栈,发现错误源于错误的配置或继承关系,最终提供了两种解决方案:修正配置或禁用验证。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Java代码  收藏代码
  1. java.lang.illegalargumentexception: resources cannot be null.   
  2. org.apache.commons.validator.validator.<init>(validator.java:188)   
  3. org.apache.struts.validator.resources.initvalidator(resources.java:475)   
  4. org.apache.struts.validator.validatorform.validate(validatorform.java:104)     
  5. ..............  

 

这个问题还真的没有见过呢

乍一看还真蒙了,但是只要你出了这个问题还搜索到了这篇文章,那么你走运了

这个问题很简单,也很容易就解决了

出现这个问题首先检查struts-config.xml

例如把Form的type写成了Action的路径,就会报这样的错

<message-resources parameter="com.jatty.struts.ApplicationResources" />
如果是对的话,就看下你的ActionForm了,是否继承了ValidatorForm,ActionForm或者其他的Form父类。

就是因为你配置了struts的form,但是你没有给她配置validate方法,加上validate就可以通过了

还有一种解决方法就是在struts-config.xml里把validate="false"。

其实呢我犯的错误是ActionForm继承错了父类,我继承了Action!这等同于你没有配置好自己的ActionForm,因此会报出这样的错误!


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值