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

10 篇文章 0 订阅
7 篇文章 0 订阅

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

    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)  

再到代码中跟踪发现:

    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中原来为

    "appointment.customerId" :$("#customerId").val(),  
 jquery 从input获得的是一个String类型值,改正为获得值后直接强制转化为10进制 Integer类型

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

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

 

问题解决。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值