开发常见报m(_ _)m

struts1 使用BeanUtils填充界面录入数据报 错

2.后台服务篇:

  1.获取界面录入数据,报错:

 java.lang.IllegalArgumentException: No bean specified
 at org.apache.commons.beanutils.PropertyUtilsBean.getPropertyDescriptor(PropertyUtilsBean.java:790)
 at org.apache.commons.beanutils.BeanUtilsBean.setProperty(BeanUtilsBean.java:962)
 at org.apache.commons.beanutils.BeanUtilsBean.populate(BeanUtilsBean.java:836)
 at org.apache.commons.beanutils.BeanUtils.populate(BeanUtils.java:305)
 at org.apache.struts.util.RequestUtils.populate(RequestUtils.java:495)
 at org.apache.struts.action.RequestProcessor.processPopulate(RequestProcessor.java:816)
 at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:203)
 at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
 at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)

 

javax.servlet.ServletException: BeanUtils.populate
 at org.apache.struts.util.RequestUtils.populate(RequestUtils.java:497)
 at org.apache.struts.action.RequestProcessor.processPopulate(RequestProcessor.java:816)
 at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:203)
 at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
 at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)

 

原因:

  界面的输入域name值存在使用“.”分隔的名称,而对应的接收界面输入的bean没有“.”号之前的属性

eg:

<input type="hidden" name="user.id"/>

 

使用BeanUtils.populate 填充界面录入的输入到bean时,要求bean有user 属性,如果没有则会报上述错误。

 

 

你可能感兴趣的:(开发)