Spring+dwr在保存数据时报错ERROR [DefaultConverterManager][convertOutbound] No converter found for 'java.lang

今天在调试一个功能时,出现这么一个问题:

ERROR [DefaultConverterManager][convertOutbound] No converter found for 'java.lang.reflect.Constructor'
ERROR [DefaultConverterManager][convertOutbound] No converter found for 'java.lang.reflect.Field'
ERROR [DefaultConverterManager][convertOutbound] No converter found for 'java.lang.reflect.Method'
ERROR [DefaultConverterManager][convertOutbound] No converter found for 'java.lang.Package'
ERROR [DefaultConverterManager][convertOutbound] No converter found for 'java.security.ProtectionDomain'
ERROR [DefaultConverterManager][convertOutbound] No converter found for 'sun.reflect.generics.reflectiveObjects.TypeVariableImpl'

页面报Error marshalling data

非常迷茫,后来先使用dwr的调试功能,就是访问:http://server/app/dwr找到对应的模块,手工输入数据测试对应的方法,发现方法是正常的。说明是在程序中,所传过去的参数有问题。经过排查,原来该Javabean中有一个属性是Date类型,而页面采用ext的方法获取参数值:var values = actionForm.form.getValues();直接将values值传给方法,而日期作为字符串传进去,结果无法转换而报错,需要使用如下方法对该参数进行赋值values["balanceDate"] = actionForm.form.findField("balanceDate").getValue();。在使用Ext.encode(values)时,如果是日期类型在日期与时间之间有一个T,而字符串只有日期部分。

除了使用这个方法外,还有一个方法(更好,推荐):使用getFieldValues()获取数据,var values = actionForm.form.getFieldValues();

原来如此!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值