关于BeanUtils.populate的解决

  • Post author:
  • Post category:其他


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对象