关于BeanUtils.populate的解决

 BeanUtils.populate


在Struts开发中遇到了这个问题:javax.servlet.ServletException: BeanUtils.populate
可能原因如下:

   1.JSP页面是Sing 类型的,如果actionForm里头的数据定义成别的类型,就会报这个错

   2.JSP页面的字段什么写错了。

   3.当上传文件有<html:file> 时如果不定仪表单为 enctype="multipart/form-data"
     
   4.页面中有<html:hidden property="bid.goods.goodsId" value="${good.goodsId}" />
     <%--bid是formBean中的一个属性(也是一个实体类对象),goods是bid中的一个属性(也是一个实体类对象)--%>

     异常信息:

注意:通过页面向action提交数据时,如果使用formBean进行封装数据,
并且formBean属性中的属性是实体Bean,封装数据会报异常。
其主要原因是在页面为formBean的属性赋值时,
×××××××××××××××××××××××××××××××××××××××××××××××××××
struts底层代码只能识别formBean的属性可以是实体Bean,
不能识别出属性的属性是实体Bean。
×××××××××××××××××××××××××××××××××××××××××××××××××××

所以我的解决方法是在Bid中自己添加一个字段goodsId
 然后再对应的Action中使用findGoodsByGoodsId找到goods对象
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值