Struts2参数接受的问题

      Struts2.1.6中,关于BigDecimal参数的接收,如果在Action中的一个属性是BigDecimal类型,则可以接收到相应的BigDecimal类型参数。但如果Action中有一个自己类的对象,这个对象中包含一个BigDecimal类型的属性时,则在接收页面相应参数的时候就会出错,Struts给出的提示是:set方法错误,该set方法不支持一个String类型的参数,或者说没有一个setXXX(String xxx)的方法。当然没有了,因为这个方法的参数是BigDecimal类型的,这说明Struts在接受页面属性的时候根本没有进行转换,这时候写转换器也没有用,在网上找了很久没有看到合理的解释和解决办法。

      个人认为比较简单的解决方法有两个:一是将BigDecimal类型的参数写到Action中,这样就能转换成功了,但这会打破程序对象良好的封装性;另一个方法便是干脆将数据库中BigDecimal类型的字段在DTO中定义为String,到业务处理层在手动的做一次转换。

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值