添加提交之后报的一错
前端
HTTP Status 500 - Invalid action class configuration that references an unknown class named [noticebillAction]
type Exception report
message Invalid action class configuration that references an unknown class named [noticebillAction]
description The server encountered an internal error that prevented it from fulfilling this request.
exception
java.lang.RuntimeException: Invalid action class configuration that references an unknown class named [noticebillAction]
org.apache.struts2.convention.ConventionsServiceImpl.determineResultPath(ConventionsServiceImpl.java:99)
org.apache.struts2.convention.ConventionUnknownHandler.determinePath(ConventionUnknownHandler.java:396)
org.apache.struts2.convention.ConventionUnknownHandler.handleUnknownResult(ConventionUnknownHandler.java:285)
com.opensymphony.xwork2.DefaultUnknownHandlerManager.handleUnknownResult(DefaultUnknownHandlerManager.java:85)
com.opensymphony.xwork2.DefaultActionInvocation.createResult(DefaultActionInvocation.java:222)
com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:363)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:273)
后端
15:57:24,043 ERROR DefaultDispatcherErrorHandler:42 - Exception occurred during processing request: Invalid action class configuration that references an unknown class named [noticebillAction]
java.lang.RuntimeException: Invalid action class configuration that references an unknown class named [noticebillAction]
at org.apache.struts2.convention.ConventionsServiceImpl.determineResultPath(ConventionsServiceImpl.java:99)
at org.apache.struts2.convention.ConventionUnknownHandler.determinePath(ConventionUnknownHandler.java:396)
at org.apache.struts2.convention.ConventionUnknownHandler.handleUnknownResult(ConventionUnknownHandler.java:285)
at com.opensymphony.xwork2.DefaultUnknownHandlerManager.handleUnknownResult(DefaultUnknownHandlerManager.java:85)
at com.opensymphony.xwork2.DefaultActionInvocation.createResult(DefaultActionInvocation.java:222)
at com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:363)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:273)
at com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:265)
at org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:76)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:244)
at com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:138)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:244)
。。。。。。。。。。。
Caused by: java.lang.ClassNotFoundException: noticebillAction
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1718)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1569)
at com.opensymphony.xwork2.util.ClassLoaderUtil.loadClass(ClassLoaderUtil.java:152)
at org.apache.struts2.convention.ConventionsServiceImpl.determineResultPath(ConventionsServiceImpl.java:97)
... 72 more
解决:自己想出来的,未必好用。后期补充
分析:action都不跳,可能是实体封装时就报错了。前台返回的是字符串数组。后台是日期类型。最开始想用拦截器,没找到对应的方法,貌似拦截器不可以修改表单的提交数据吧。。。。所以对应的java类中日期类型属性进行了改变。可以跳action了。
public void setPickdate(Object pickdate) {
if(pickdate instanceof Date){
this.pickdate=(Date) pickdate;
}else{
String[] pickDateString=(String[]) pickdate;
try {
Date datePickdate = new SimpleDateFormat("yyyy-MM-dd").parse(pickDateString[0]);
this.pickdate=datePickdate;
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}