Invalid action class configuration that references an unknown class解决方案

Sturts2整合后时出现诡异的异常:

java.lang.RuntimeException: Invalid action class configuration that references an unknown class named 。。。。。。。。。。。。。

解决方案:

1.检查struts.xml配置文件是否正确

一般注意 namespaces属性 method 属性和 action 节点的name 属性

<package name="authority" extends="default" namespace="/authority" >

<action name = "save" class="authorityAction" method = "save">

不光是地址是否正确 有时候多一个空格也会让xml文件读取出现问题

建议找一个能运行的action复制其中的配置,实在不行了,那就是页面的问题了,

无赖。。我遇到了这类的问题,页面的问题。。希望大家注意的jsp页面上尽量干净点,不要有多的hidden隐藏域

页面所有的无关的html都删除,只留一个提交到action的按钮或连接,结果成功提交了,没有上面的bug,后来我有把原来的页面恢复过来原来页面有个 

<s:iterator value="result" status="list" >

<input type="hidden"  name="tiggerId" value="${id }" />

<input type="hidden"  name="codeName" value="${codeName}" />

  </s:iterator>最后发现了在这里的错误,

2.首选加上id 来标识这个隐藏域的唯一,这个id不能重复。删除一些没有的隐藏域,结果成功的提交到了action 中

3.建议给每个单独的隐藏域在Action中添加属性 private String 隐藏域的name 属性的值 (get set方法不要忘了)

比如:<input type="hidden"  name="tiggerId" value="1" />那么后台就添加一个  private String tiggerId; //get set..方法

4.检查你的Action处理类,看看调用时return 的视图在配置文件有没有配置

java.lang.RuntimeException: Invalid action class configuration that references an unknown class named 

原因是没有合适的result name,比如:Action处理类中有一个方法return SUCCESS;而在配置文件中又没有

<result name="success">***.jsp</result>

这种错误太烦人了,今天又遇到一个:

5.Action 中有一个Long 类型的属性,表单get 提交了一个汉字,结果没有报NumberFomrate异常结果报了java.lang.RuntimeException: Invalid action class configuration that references an unknown class named ,纠结

6.纠结不断,诡异,今天又遇到一个在一个页面通过如下代码提交:

 var userForm=document.forms["userForm"];
 userForm.action="../show.action?selectIds=${selectIds}";
 userForm.submit();

而我的jsp页面正好有这个name=selectIds的隐藏域 结果错误出现了,诡异,遇到烦人的错误..我绕开了而用了
window.location.href="../show.action?selectIds=${selectIds}"; 解决了,

回过头看看,最后之前提交的发现了,参数多次提交了,selectIds 在jsp页面post提交时就有值了,有提交一次,粗心的引起的错误!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值