You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@struts.apache.org by Scott Van Wart <sc...@indosoft.com> on 2008/04/21 23:42:36 UTC
(SOLVED) Indexed nested beans
I was missing the getPackages() method :(
- Scott
Scott Van Wart wrote:
> Hi all,
>
> I'm trying to get multiple levels of indexed, nested beans working.
> I've tried a variety of solutions but I keep getting xwork or ognl
> exceptions. Here's what I've tried (loosely):
>
> public class MyAction implements Action, StrutsStatics {
> private List<PackageBean> packages;
> public List<PackageBean> getPackages() { return this.packages; }
> public List<PackageBean> setPackages( List<PackageBean> packages
> ) { this.packages = packages; }
> }
>
> public class PackageBean {
> private List<ElementBean> elements;
> public List<ElementBean> getElements() { return this.packages; }
> public List<ElementBean> setElements( List<ElementBean> packages
> ) { this.elements = elements; }
> }
>
> public class ElementBean {
> private String property1;
> private String property2;
> // getters and setters
> }
>
> I refer to the properties in my inputs as
> "packages[0].elements[0].property1". When I POST, I get a
> NullPointerException in OgnlRuntime.getField (targetClass is null).
>
> I tried using built-in arrays (PackageBean[] and ElementBean[]) and I
> get an OgnlException (source is null in setProperty( null, "property1"
> )). I try initializing these to new PackageBean[0] and new
> ElementBean[0] and I get IndexOutOfBoundsException.
>
> I tried pre-populating my collections (List<...>) with a few empty
> beans in both my action and PackageBean but I get the "source is null"
> exception again... I also tried the getPackage( int index ) and
> setPackage( int index, PackageBean pkg ) style getters and setters all
> the way through (initializing the lists with empty beans as necessary)
> with no success.
>
> Am I way off on my thoughts of how nested beans and indexed properties
> work?
>
> Thanks,
> Scott
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
> For additional commands, e-mail: user-help@struts.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org