Re: back-button causes Wicket state and page displayed to be out of synch
Hi, 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. Turn off page caching in a browser for ajax pages. -- DS - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
back-button causes Wicket state and page displayed to be out of synch
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
Re: back-button causes Wicket state and page displayed to be out of synch
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:
Re: back-button causes Wicket state and page displayed to be out of synch
Check wicketstuff's jquery project for HistoryAjaxBehavior. May be it helps. drf 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? -- 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-tp3006971p3008140.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