You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@wicket.apache.org by Rodrigo De Castro <ro...@sacaluta.com> on 2009/05/05 20:39:59 UTC

Re: AjaxTabbedPanel, AjaxLazyLoadPanel and back button

I solved this problem turning off the browser's cache for this page. So I
added the following override method and now it works just fine:

    @Override
    protected void configureResponse() {
        super.configureResponse();

        final WebResponse response = getWebRequestCycle().getWebResponse();
        response.setHeader("Cache-Control", "no-cache, max-age=0,
must-revalidate, no-store");
    }

Please let me know if there is another (better) solution.

Rodrigo

On Tue, Apr 28, 2009 at 7:14 PM, Rodrigo De Castro <ro...@sacaluta.com>wrote:

> Hey,
>
> I've been using AjaxTabbedPanel successfully, but ran into the following
> problem today:
>
> 1. Load page that has multiple tabs
> 2. Click on the second tab
> 3. Click on link on the tab panel that takes me to another page
> 4. Press back button
>
> It fails with the following error:
>
> WicketMessage: component
> tabpanel:mytabpanel:panel:general_workflow_panel:graph_container not found
> on page
>
> The container (graph_container) is an AjaxLazyLoadPanel. If I don't load it
> lazyly, it works fine. Is this a known bug? Or maybe I am not using
> AjaxLazyLoadPanel properly? Let me know if you need more information.
>
> AjaxLazyLoadPanel code:
>         graphContainer = new AjaxLazyLoadPanel("graph_container") {
>             @Override
>             public Component getLazyLoadComponent(String markupId) {
>                 return new ChartPanel(markupId, new ChartModel());
>             }
>         };
>
> This is where the panel is inserted:
> <div style="float: left;" wicket:id="graph_container"></div>
>
> And panel (ChartPanel) html:
> <wicket:panel>
> <div style="float: left; width: 650px; margin-top: 10px;"
> wicket:id="graph_container">
>     <img wicket:id="workflow_trend"></img>
> </div>
> </wicket:panel>
>
> Thanks,
> Rodrigo