您的位置:首页 > 其它

随机出现“No result defined for action ....Action and result input”解决

2017-12-03 21:30 344 查看
最近一次系统升级,随机出现编辑原来数据库数据失败问题,而如果修改这个action所有数据则可以成功,新添加再修改也可以成功。跟踪发现系统报错:

[java] view
plain copy

No result defined for action com.jim.web.action.appointment.AppointmentAction and result input    

    

    com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:376)    

    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:278)    

    com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:265)    

    org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68)    

    com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)    

再到代码中跟踪发现:

[java] view
plain copy

WARN OgnlValueStack:60 - Error setting expression 'appointment.customerId' with value '[Ljava.lang.String;@15475116'    

ognl.MethodFailedException: Method "setCustomerId" failed for object com.jim.bean.appointment.Appointment@18f75278 [java.lang.NoSuchMethodException: com.jim.bean.appointment.Appointment.setCustomerId([Ljava.lang.String;)]    

.............................................................................................................    

Caused by: java.lang.NoSuchMethodException: com.jim.bean.appointment.Appointment.setCustomerId([Ljava.lang.String;)    

    at ognl.OgnlRuntime.callAppropriateMethod(OgnlRuntime.java:1233)    

    ... 67 more    

/-- Encapsulated exception ------------\    

java.lang.NoSuchMethodException: com.jim.bean.appointment.Appointment.setCustomerId([Ljava.lang.String;)    

    at ognl.OgnlRuntime.callAppropriateMethod(OgnlRuntime.java:1233)    

............................................................................................................    

\--------------------------------------/    

09:25:59,222 ERROR Dispatcher:38 - Could not find action or result    

/blackfoot/pages/booking/editAppointmentByJsonAction    

No result defined for action com.jim.web.action.appointment.AppointmentAction and result input    

发现是bean映射时变量类型错误导致请注意一下信息

“Error setting expression 'appointment.customerId' with value '[Ljava.lang.String”

在bean appointment中“customerId”是Integer类型,但jsp和js却直接映射成String,导致异常发什么。

在js中原来为

[java] view
plain copy

"appointment.customerId" :$("#customerId").val(),    

 jquery 从input获得的是一个String类型值,改正为获得值后直接强制转化为10进制 Integer类型

[java] view
plain copy

"appointment.customerId" :parseInt($("#customerId").val(),10),  

 后面“10”表示10进制,如果为“8”则为8进制,以此类推

 

问题解决。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐