Hi, Have a look at TransparentWebMarkupContainer, it was specifically made for this. This does involve some (internal) magic in wicket but allows you to simply say this.add() in child pages instead of rootContainer.add().
// Bas Verstuurd vanaf mijn iPhone > Op 26 jun. 2021 om 18:09 heeft Prag Progger <pragprog...@gmail.com> het > volgende geschreven: > > Hi, > > I have a ParentPage and many sub class child pages that extend it. I > decided to add a root container element to the parent page, but this > breaks all ChildPage.add() method calls in the child pages. A solution > is to pass the root container to every child, but that is a lot of > work. Is there a cleaner way to solve this problem without breaking > all the child pages? > > // ParentPage.java > public class ParentPage extends WebPage { > // Shared with sub classes > protected MarkupContainer rootContainer; > > public ParentPage() { > rootContainer = new WebMarkupContainer("rootContainer"); > add(rootContainer); > > rootContainer.add(new Label("parentLabel", "Parent component")); > } > } > > // ParentPage.html > <html><body> > <h1>ParentPage</h1> > > <div wicket:id="rootContainer"> > <p wicket:id="parentLabel"></p> > > <div> > <wicket:child /> > </div> > </div> > </body></html> > > > // ChildPage.java > public class ChildPage extends ParentPage { > public ChildPage() { > // This should preferably be add() instead of rootContainer.add() > // So that I don't have such dependency on the parentPage. > rootContainer.add(new Label("childComponent", "Child component")); > } > } > > // ChildPage.html > <html><body> > <wicket:extend> > <h2>Child page</h2> > > <p wicket:id="childComponent"></p> > </wicket:extend> > </body></html> > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org > For additional commands, e-mail: users-h...@wicket.apache.org > --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org