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

Reply via email to