错误 :javax.servlet.ServletException: DispatchMapping[0] does not define a handler property
原因: action参数配置不全
解决方法:在 config文件中 添加 parameter="method"等
错误: 表单数据验证失败时发生错误,“No input attribute for mapping path”
原因:action中表单验证 validate="true" ,如果validate()返回非空的ActionErrors,将会被转到input属性指定的URI,而action中未指定input时会报此错
解决方法:添加 input="url" 或者 validate="false"
错误:jsp页面中,一个form有隐藏的method属性,<input type="hidden" name="method" value="<bean:message key="button.deleteall"/>"> ,当其他的button使用 method时会默认为使用该属性,则达不到程序员预期的操作
解决方法:实用javascript写一个function,改变该method值
function{
document.forms[0].elements.value="你要的操作名";
}
错误:Action里无法解析 导入的包,Form里的方法,但是代码没错
原因:不明,我是改变了validation.xml后重新发布而出了错的
解决方法:将工程关了,再打开,myeclipse会将工程重新构建,这样问题就解决了
ps:重启Tomcat是没有用滴……
错误:Struts:HTTP Status 404 - Servlet action is not available
原因:1.、web.xml文件中未配置ActionServlet。
2、struts-config.xml文件未配置你要访问的Action。
3、你的jsp文件form标记中action属性的路径名称错误。
4、非以上三种情况。
针对以上4种情况相应的解决方案如下:
1、在web.xml文件中加上ActionServlet的配置信息
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
<init-param>
<param-name>debug</param-name>
<param-value>0</param-value>
</init-param>
<init-param>
<param-name>detail</param-name>
<param-value>0</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>
2、在struts-config.xml文件检查你要访问的Action配置文件。
3、检查jsp文件form标记中action属性的路径名称是否与struts-config.xml文件中action标记的path属性的路径名称一致。
4、非以上情况的解决办法就是检查web容器的log日志,如果时tomcat则检查下logs目录下的localhost_log文件,看里边是否记录有错误信息,然后根据错误信息提示将其纠正。