Using "nested" properties can be an issue with LazyDynaBeans (but it can also be an issue using a POJO Beans or regular DynaBeans).
Say you have a property named "foo.bar" - in order to set this value BeanUtils "populate" method will try to do the following: * call the get("foo") method to retrieve the foo property * call the set("bar", value) method on the foo object to set the value If the "foo" property doesn't exist in your LazyDynaBean then it will return null and you get the NestedNullException you're seeing. The usual way to resolve this would be (if you have a "Foo" class which has a default empty constructor) to define the "foo" property for your LazyValidatorForm in your struts-config: <form-bean name="..." type="org.apache.struts.validator.LazyValidatorForm"> <form-property name="foo" type="myPackage.Foo"/> </form-bean> or use a LazyDynaBean for the foo property.... <form-bean name="..." type="org.apache.struts.validator.LazyValidatorForm"> <form-property name="foo" type="org.apache.commons.beanutils.LazyDynaBean"/> </form-bean> LazyValidatorForm will try and instantiate the foo property for you. I'm not sure why you're getting the "No bean specified" error - looks to me like the "ActionForm" you're passing to BeanUtils populate() is "null" - check your logs to see if there are errors instantiating the ActionForm. Niall ----- Original Message ----- From: "Dakota Jack" <[EMAIL PROTECTED]> To: "Struts Users Mailing List" <user@struts.apache.org> Sent: Sunday, January 23, 2005 8:07 AM Subject: LazyValidatorForm incompatible with using dot separated, etc., method indicators > I have discovered that LazyValidatorForm is incompatible with using a > dot separated name to pass on information about which submit method is > used. E.g. property='webmasterHostsOptions.method' in <html:image> > will get the following exception: > > > <http-error> > org.apache.commons.beanutils.NestedNullException: Null property value > for 'webmasterHostsOptions' > > org.apache.commons.beanutils.PropertyUtilsBean.getNestedProperty(PropertyUti lsBean.java:669) > org.apache.commons.beanutils.PropertyUtilsBean.getProperty(PropertyUtilsBean .java:715) > org.apache.commons.beanutils.BeanUtilsBean.setProperty(BeanUtilsBean.java:88 4) > org.apache.commons.beanutils.BeanUtilsBean.populate(BeanUtilsBean.java:811) > org.apache.commons.beanutils.BeanUtils.populate(BeanUtils.java:298) > org.apache.struts.util.RequestUtils.populate(RequestUtils.java:493) > </http-error> > > If I change this to property='webmasterHostsOptions-*-method', then I get: > > > <http-error> > java.lang.IllegalArgumentException: No bean specified > org.apache.commons.beanutils.PropertyUtilsBean.getPropertyDescriptor(Propert yUtilsBean.java:751) > org.apache.commons.beanutils.BeanUtilsBean.setProperty(BeanUtilsBean.java:93 7) > org.apache.commons.beanutils.BeanUtilsBean.populate(BeanUtilsBean.java:811) > org.apache.commons.beanutils.BeanUtils.populate(BeanUtils.java:298) > org.apache.struts.util.RequestUtils.populate(RequestUtils.java:493) > </http-error> > > Anyone know what bean this is "talking about"? I can go through the > process, of course, but if someone has a quick answer, that would be > appreciated. > > Jack --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]