【报错】java.lang.RuntimeException: Invalid action class configuration that references an unknown class
|ERROR|Exception occurred during processing request: Invalid action class configuration that references an unknown class named [XXXXXAction]
java.lang.RuntimeException: Invalid action class configuration that references an unknown class named [XXXXAction]
在使用SSH进行项目开发时,有可能出现以上的错误提示。现做以下总结,希望能帮助到大家
这样的问题可以简单理解为未找到名字为XXX的action
1)xxxAction没有在Struts.xml中配置相应的action;
大小写很关键,这里要仔细检查struts.xml里的名字有没有错误。
2)如果使用了spring去管理action,则有可能未在spring的配置文件中配置相应的bean;
spring注入检查
3)如果以上都排除,可能在Struts.xml中的action配置中没有配置result结果,此时检查是否有result项,或者result的type类型是否正确,检查action的返回string拼写是否正确;
Action如果返回的是大写“SUCCESS”或者“INPUT”,在Struts.xml中的result的name属性一定是大写的。如果小写 就配置小写。如果不匹配也会导致上面的错误发生。
4)如果以上都排除,可能是action中取表单页面的数据时,数据类型不兼容,比如取字符串装进int类型变量;
你的表单提交或者超链接跳转是参数的传递出错了:
1、action中是否有接收这个参数的相关set和get方法
2、action中接收参数的类型和页面的是否匹配
3、 form表单中对数据格式化,产生空格的问题,<input ... format='yyyy-MM-dd' />" />标红的尖括号和双引号之间不应该有空格。
<dl>
<dt>预录开始日期</dt>
<dd>
<input class="date" name="XXXVO.startDate"
type="expandDateYMD" id="startDate" value="<s:date name="XXXVO.startDate" format='yyyy-MM-dd' />"/>
</dd>
</dl>
6) 如果以上都排除,你可能写了表单验证的validate()方法,需仔细检查逻辑