Hi, Have you tried using an expression as the name of your Label component which match your object model hierarchy.
i.e: add(new Label("smallObject.name")); Willis Blackburn wrote: > > Hello, > > I have a situation that keeps coming up. All of my solutions have > seemed clumsy, which makes me think that there's a better way of > approaching this that I just haven't figured out. Can someone point > me in the right direction? > > What I want is to have a Page that uses CompoundPropertyModel, and > then include a component on that page that also uses > CompoundPropertyModel. So roughly it looks like this: > > public class BigObject { > public SmallObject get SmallObject() { ... } > } > > public class SmallObject { > public String getName() { ... } > } > > public class BigPage { > public BigPage(BigObject object) { > setModel(new CompoundPropertyModel(object)); > add(new SmallComponent("smallObject")); > } > } > > public class SmallComponent { > public SmallComponent() { > add(new Label("name")); > } > } > > If I try to do just this, then I get an error because the label that's > part of SmallComponent finds the BigPage model and fails because > there's no property of BigObject called name. > > So obviously SmallComponent needs some model: > > public class SmallComponent { > public SmallComponent(IModel model) { > setModel(new CompoundPropertyModel(model)); > add(new Label("name")); > } > } > > But what model to give it? I tried passing it new > ComponentPropertyModel("smallObject"), which didn't work because > ComponentPropertyModel implements IComponentAssignedModel and thus > can't be directly wrapped in CompoundPropertyModel. Adding a call to > wrap() in the SmallComponent constructor fixed the problem, but I'm > not sure if I can just call wrap and carry on or if there will be some > unforeseen consequence of that down the road. Is there a standard way > of doing this? > > Thanks, > Willis > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org > For additional commands, e-mail: users-h...@wicket.apache.org > > > -- View this message in context: http://www.nabble.com/N-level-CompoundPropertyModel-tp22024267p22024775.html Sent from the Wicket - User mailing list archive at Nabble.com. --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org