Wicket does not support back button for Ajax application out of the box. Search in Google/Nabble for suggestions how to make it working for your application.
On Fri, Oct 22, 2010 at 12:53 PM, drf <davidrfi...@gmail.com> wrote: > > I have encountered the following serious issue: > > My application consists of one WebPage which has an AjaxTabbedPanel. Each > tab has an associated panel which includes several menu items (links) which > can be selected. This works well. > However, if the user selects the back-button (once back, then once forward) > they can come back to the page with a different tab displayed than the one > selected before the back-button was used. If a menu link is then clicked > on, > an exception is thrown. This appears to be because the Wicket on the server > is now out of synch with the html displayed. Wicket thinks a different > panel > is selected than the one the user sees now. > > This appears to be a fundamental Wicket problem/issue - apart from > disabling > the back button, what are the available approaches? > > Here is the stacktrace: > WicketMessage: org.apache.wicket.WicketRuntimeException: component > tabs:panel:subItem_account_balance_summary not found on page > com.drf.hapoalim.gui.menus.TabsDefinitionPage[id = 8], listener interface = > [RequestListenerInterface name=IBehaviorListener, method=public abstract > void org.apache.wicket.behavior.IBehaviorListener.onRequest()] > Root cause: > org.apache.wicket.WicketRuntimeException: component > tabs:panel:subItem_account_balance_summary not found on page > com.drf.hapoalim.gui.menus.TabsDefinitionPage[id = 8], listener interface = > [RequestListenerInterface name=IBehaviorListener, method=public abstract > void org.apache.wicket.behavior.IBehaviorListener.onRequest()] at > > org.apache.wicket.request.AbstractRequestCycleProcessor.resolveListenerInterfaceTarget(AbstractRequestCycleProcessor.java:426) > at > > org.apache.wicket.request.AbstractRequestCycleProcessor.resolveRenderedPage(AbstractRequestCycleProcessor.java:471) > at > > org.apache.wicket.protocol.http.WebRequestCycleProcessor.resolve(WebRequestCycleProcessor.java:144) > at org.apache.wicket.RequestCycle.step(RequestCycle.java:1310) at > org.apache.wicket.RequestCycle.steps(RequestCycle.java:1428) at > org.apache.wicket.RequestCycle.request(RequestCycle.java:545) at > org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:479) > at > > org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:312) > at > > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) > at > > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) > at > > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) > at > > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) > at > > com.springsource.insight.collection.tcserver.request.HttpRequestOperationCollectionValve.invoke(HttpRequestOperationCollectionValve.java:60) > at > > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) > at > > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) > at > > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) > at > > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293) > at > org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849) > at > > org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) > at > > org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:379) > at > > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) > at > > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) > at java.lang.Thread.run(Thread.java:637) > Complete stack: > org.apache.wicket.protocol.http.request.InvalidUrlException: > org.apache.wicket.WicketRuntimeException: component > tabs:panel:subItem_account_balance_summary not found on page > com.drf.hapoalim.gui.menus.TabsDefinitionPage[id = 8], listener interface = > [RequestListenerInterface name=IBehaviorListener, method=public abstract > void org.apache.wicket.behavior.IBehaviorListener.onRequest()] at > > org.apache.wicket.protocol.http.WebRequestCycleProcessor.resolve(WebRequestCycleProcessor.java:262) > at org.apache.wicket.RequestCycle.step(RequestCycle.java:1310) at > org.apache.wicket.RequestCycle.steps(RequestCycle.java:1428) at > org.apache.wicket.RequestCycle.request(RequestCycle.java:545) at > org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:479) > > -- > View this message in context: > http://apache-wicket.1842946.n4.nabble.com/back-button-causes-Wicket-state-and-page-displayed-to-be-out-of-synch-tp3006971p3006971.html > Sent from the Users forum mailing list archive at Nabble.com. > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org > For additional commands, e-mail: users-h...@wicket.apache.org > >