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

Reply via email to