I have a jsp page with a form on it using indexed properties. I have a bean with an array of beans that I use to connect with the jsp page. The page displays fine, but when I try to save it, I get the following error:
javax.servlet.ServletException: BeanUtils.populate at org.apache.struts.util.RequestUtils.populate(RequestUtils.java:1254) at org.apache.struts.action.RequestProcessor.processPopulate(RequestProcessor.j ava:821) at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:254) at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482) at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525) at javax.servlet.http.HttpServlet.service(HttpServlet.java:760) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.catalina.core.StandardWrapperValve.invokeServletService(StandardW rapperValve.java:720) at org.apache.catalina.core.StandardWrapperValve.access$000(StandardWrapperValv e.java:118) at org.apache.catalina.core.StandardWrapperValve$1.run(StandardWrapperValve.jav a:278) at java.security.AccessController.doPrivileged(Native Method) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja va:274) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:505) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja va:212) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:505) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:203 ) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:505) at com.iplanet.ias.web.connector.nsapi.NSAPIProcessor.process(NSAPIProcessor.ja va:157) at com.iplanet.ias.web.WebContainer.service(WebContainer.java:598) Root Cause java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39 ) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl .java:25) at java.lang.reflect.Method.invoke(Method.java:324) at org.apache.commons.beanutils.PropertyUtils.getIndexedProperty(PropertyUtils. java:493) at org.apache.commons.beanutils.PropertyUtils.getIndexedProperty(PropertyUtils. java:428) at org.apache.commons.beanutils.PropertyUtils.getNestedProperty(PropertyUtils.j ava:770) at org.apache.commons.beanutils.PropertyUtils.getProperty(PropertyUtils.java:80 1) at org.apache.commons.beanutils.BeanUtils.setProperty(BeanUtils.java:881) at org.apache.commons.beanutils.BeanUtils.populate(BeanUtils.java:808) at org.apache.struts.util.RequestUtils.populate(RequestUtils.java:1252) at org.apache.struts.action.RequestProcessor.processPopulate(RequestProcessor.j ava:821) at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:254) at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482) at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525) at javax.servlet.http.HttpServlet.service(HttpServlet.java:760) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.catalina.core.StandardWrapperValve.invokeServletService(StandardW rapperValve.java:720) at org.apache.catalina.core.StandardWrapperValve.access$000(StandardWrapperValv e.java:118) at org.apache.catalina.core.StandardWrapperValve$1.run(StandardWrapperValve.jav a:278) at java.security.AccessController.doPrivileged(Native Method) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja va:274) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:505) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja va:212) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:505) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:203 ) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:505) at com.iplanet.ias.web.connector.nsapi.NSAPIProcessor.process(NSAPIProcessor.ja va:157) at com.iplanet.ias.web.WebContainer.service(WebContainer.java:598) Caused by: java.lang.NullPointerException at com.mysite.bean.SoldProperty.getExclusiveSold(SoldProperty.java:573) Here is the relevant code: protected SoldProperty[] ExclusiveSold; protected SoldProperty[] BuyerSold; /** Set the Value of ExclusiveSold to ExclusiveSoldValue @param ExclusiveSoldValue The value of the variable ExclusiveSold in the Object */ public void setExclusiveSold (SoldProperty[] ExclusiveSoldValue) { ExclusiveSold = ExclusiveSoldValue; } /** Get the Value of ExclusiveSold @return The Value of ExclusiveSold */ public SoldProperty[] getExclusiveSold (){ return ExclusiveSold; } /** Set the Value of ExclusiveSold to ExclusiveSoldValue @param ExclusiveSoldValue The value of the variable ExclusiveSold in the Object */ public void setExclusiveSold (int index, SoldProperty ExclusiveSoldValue) { ExclusiveSold[index] = ExclusiveSoldValue; } /** Get the Value of ExclusiveSold @return The Value of ExclusiveSold */ public SoldProperty getExclusiveSold (int index){ return ExclusiveSold[index]; } /** Set the Value of BuyerSold to BuyerSoldValue @param BuyerSoldValue The value of the variable BuyerSold in the Object */ public void setBuyerSold (SoldProperty[] BuyerSoldValue) { BuyerSold = BuyerSoldValue; } /** Get the Value of BuyerSold @return The Value of BuyerSold */ public SoldProperty[] getBuyerSold (){ return BuyerSold; } /** Set the Value of BuyerSold to BuyerSoldValue @param BuyerSoldValue The value of the variable BuyerSold in the Object */ public void setBuyerSold (int index, SoldProperty BuyerSoldValue) { BuyerSold[index] = BuyerSoldValue; } /** Get the Value of BuyerSold @return The Value of BuyerSold */ public SoldProperty getBuyerSold (int index){ return BuyerSold[index]; } And the jsp code: <c:forEach var="exclusive" items="${SoldProperty.exclusiveSold}" varStatus="status"> <tr> <td bgcolor="#E0E8F5" align="center"><c:out value="${exclusive.soldDate}"/></td> <td bgcolor="#E0E8F5"><html-el:hidden property="exclusiveSold[${status.index}].soldId"/><a href="Marketing.app?action=edit&id=<c:out value="${exclusive.mlsNumber}"/>"><c:out value="${exclusive.streetNumber}"/> <c:out value="${exclusive.street}"/> <c:out value="${exclusive.aptNumber}"/></a></td> <td bgcolor="#E0E8F5" align="center"><c:out value="${exclusive.price}"/></td> <td bgcolor="#E0E8F5" align="center"><html-el:checkbox property="exclusiveSold[${status.index}].showListing" /></td> <td bgcolor="#E0E8F5" align="center"><html-el:checkbox property="exclusiveSold[${status.index}].showPrice" /></td> <td bgcolor="#E0E8F5" align="center"><html-el:checkbox property="exclusiveSold[${status.index}].showAptNumber" /></td> <td bgcolor="#E0E8F5" align="center"><html-el:text property="exclusiveSold[${status.index}].displayPrice" size="8" /></td> </tr> </c:forEach> <c:forEach var="buyer" items="${SoldProperty.buyerSold}" varStatus="status"> <tr> <td bgcolor="#E0E8F5" align="center"><c:out value="${buyer.soldDate}"/></td> <td bgcolor="#E0E8F5"><html-el:hidden property="buyerSold[${status.index}].soldId"/><a href="soldProperty.app?action=edit&id=<c:out value="${buyer.soldId}"/>"><c:out value="${buyer.streetNumber}"/> <c:out value="${buyer.street}"/> <c:out value="${buyer.aptNumber}"/></a></td> <td bgcolor="#E0E8F5" align="center"><c:out value="${buyer.price}"/></td> <td bgcolor="#E0E8F5" align="center"><html-el:checkbox property="buyerSold[${status.index}].showListing" /></td> <td bgcolor="#E0E8F5" align="center"><html-el:checkbox property="buyerSold[${status.index}].showPrice" /></td> <td bgcolor="#E0E8F5" align="center"><html-el:checkbox property="buyerSold[${status.index}].showAptNumber" /></td> <td bgcolor="#E0E8F5" align="center"><html-el:text property="buyerSold[${status.index}].displayPrice" size="8" /></td> </tr> </c:forEach> Any ideas why I'm getting this error? And how to fix it? Thanks, Nathan Ewing --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]