you should only create the panels when the user clicks on the link add(new link(..) { onclick() { panel=new somepanel(...); ((mypage)getpage()).setcontentpanel(panel); } }
-igor On Sun, Apr 12, 2009 at 5:56 PM, Henrique Boregio <hbore...@gmail.com> wrote: > I have a web page with a simple design where a NavigationPanel > contains a few links which replace the main panel with other panels. > > My problem is that when I initialize this web page, it creates all of > the panels which will eventually replace a main panel (according to > the link in the NavigationPanel that the user has clicked) by calling > their constructors. Since the constructors initialize a bunch of > components and also retrieve data from a database, it takes a "long" > time to render the web page since it is also loading all of the other > panels. > > Since I want to perform a kind of lazy loading (I only load the > components of the panels if the user has clicked on the corresponding > link in the NavigationPanel), I moved the code where I initialize the > components to the onBeforeRender() method instead of the constructor. > It worked fine for the first time I clicked a link but if I re-clicked > it, a wicket error would pop up since I was trying to add new > components that had already been added. > > My solution was something like: > > protected void onBeforeRender() { > super.onBeforeRender(); > > if(!firstTime) { > return; > } > > // create the components used in this panel > ... > firstTime = true > } > > > This way the components are created only if it is the first time I am > loading the panel. > > My question is, is there a better or automatic way of doing this through > wicket? > Thanks. > > --------------------------------------------------------------------- > 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