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提交时就有值了,有提交一次,粗心的引起的错误!