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