jsp页面使用struts标签报argument type mismatch异常

23 篇文章 0 订阅
19 篇文章 0 订阅

错误描述:
jsp页面中使用了<html:form></html:form>标签后,再提交过程中struts要做一系列验证,如

果有文本框中填写日期而form中对应的是java.util.Date类型就会报argument type mismatch

异常。

原因:
ActionServlet在接受到页面的请求后,会调用RequestUtils.populate方法对Form进行填值,

而此方法又调用到BeanUtils.populate方法,而该方法进行填值时对不同类型的会进行转换,

而默认的ActionServlet并没有注册相应的转换函数,所以会导致转换出现错误

解决办法:
1.ActionForm中把Date类型转换为String类型
2.ActionFrom中仍使用Date类型, 自定义一个日期转换类DateConverter(需要实现

Converter接口),然后在自定义的ActionServlet或者Action基类中注册DateConverter:

ConvertUtils.register(new DateConverter(), Date.class)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值